数据结构与算法分析
文章平均质量分 87
温温最可爱
这个作者很懒,什么都没留下…
展开
-
数据结构----排序(插入、交换、选择、归并)
目录一、排序概述二、插入排序1,直接插入排序2,折半插入排序3,希尔排序三、交换排序1,冒泡排序2,快速排序四、选择排序1,简单选择排序2,堆排序五、归并排序六、基数排序总结一、排序概述200二、插入排序1,直接插入排序2,折半插入排序3,希尔排序三、交换排序1,冒泡排序2,快速排序四、选择排序1,简单选择排序2,堆排序五、归并排序六、基数排序总结...原创 2021-07-11 22:32:20 · 1236 阅读 · 0 评论 -
数据结构----查找(线性表、树表、哈希表)
目录一、查找的基本概念二、线性表的查找1,顺序查找2,折半查找3,分块查找三、树表的查找1,二叉排序树2,平衡二叉树三、散列表的查找1,基本概念2,散列函数的构造3,处理冲突方法4,散列表的查找及性能分析一、查找的基本概念140+120二、线性表的查找1,顺序查找2,折半查找3,分块查找三、树表的查找1,二叉排序树2,平衡二叉树三、散列表的查找1,基本概念2,散列函数的构造3,处理冲突方法4,散列表的查找及性能分析...原创 2021-07-06 13:52:36 · 995 阅读 · 0 评论 -
数据结构----图的存储结构+遍历+应用
目录一、图的基本概念和术语二、图的存储结构1,邻接矩阵表示法2,邻接表表示法3,十字链表(好绕啊,头都晕了)4,邻接多重表三、图的遍历1,深度优先搜索遍历(DFS)2,广度优先搜索遍历 (BFS)四、图的应用1,最小生成树2,最短路径3,拓扑排序4,关键路径一、图的基本概念和术语图: 多对多,必须有点,可以没有边。边有方向为有向图完全图: 任意两个点之间都有边相连。n个顶点的图,完全无向图有n(n-1)/2个边,完全有向图有n(n-1)个边。有向图的边也叫弧。弧用尖括号表示<>两个原创 2021-07-04 16:47:18 · 1584 阅读 · 0 评论 -
数据结构----哈夫曼树
目录一、哈夫曼树的基本概念二、哈夫曼树的算法1,哈夫曼树的构造算法2,哈夫曼树算法实现三、哈夫曼的编码1,哈夫曼的编码思想2,哈夫曼编码的算法实现3,文件的编码和译码一、哈夫曼树的基本概念二、哈夫曼树的算法1,哈夫曼树的构造算法2,哈夫曼树算法实现三、哈夫曼的编码1,哈夫曼的编码思想2,哈夫曼编码的算法实现3,文件的编码和译码...原创 2021-07-03 13:39:38 · 1055 阅读 · 0 评论 -
数据结构----树和森林
目录一、树的定义1,树的定义2,树的基本术语3,数和二叉树的抽象数据类型定义二、数的存储结构1,双亲表示法2,孩子链表3,孩子兄弟表示法三、树、二叉树、森林1,树与二叉树的转换2,森林与二叉树的转换3,树和森林的遍历一、树的定义1,树的定义2,树的基本术语3,数和二叉树的抽象数据类型定义二、数的存储结构1,双亲表示法2,孩子链表3,孩子兄弟表示法三、树、二叉树、森林1,树与二叉树的转换2,森林与二叉树的转换3,树和森林的遍历...原创 2021-07-02 13:25:23 · 439 阅读 · 0 评论 -
数据结构----二叉树
目录一、二叉树1,二叉树的定义及抽象数据类型2,二叉树的性质和存储结构(1)二叉树的性质1,2,3(2)满二叉树和完全二叉树(3)二叉树的性质4,5(4)二叉树的顺序存储结构(5)二叉树的链式存储结构3,遍历二叉树和线索二叉树(1)遍历二叉树(2)由遍历序列确定二叉树(3)二叉树的先序递归遍历算法(4)二叉树的递归遍历算法及分析(5)中序非递归算法(6)层次遍历算法(7)建立二叉树算法(8)复制,求结点数,求叶子结点数(9)线索二叉树一、二叉树1,二叉树的定义及抽象数据类型2,二叉树的性质和存储结构原创 2021-07-01 23:10:58 · 582 阅读 · 2 评论 -
数据结构----串、数组和广义表
目录一、串1,串的定义2,串的类型定义和存储结构3,BF算法4,KMP算法二、数组1,数组的定义和特点2,数组的抽象数据类型定义3,数组的顺序存储4,对称矩阵压缩存储5,三角矩阵、对角矩阵压缩存储6,稀疏矩阵压缩存储三、广义表一、串1,串的定义2,串的类型定义和存储结构3,BF算法4,KMP算法二、数组1,数组的定义和特点2,数组的抽象数据类型定义3,数组的顺序存储4,对称矩阵压缩存储5,三角矩阵、对角矩阵压缩存储6,稀疏矩阵压缩存储三、广义表...原创 2021-07-01 09:50:28 · 869 阅读 · 0 评论 -
数据结构----栈和队列
目录一、栈和队列的定义和特点1,栈的定义和特点2,队列的定义和特点3,栈和队列的典型案例(1)进制转换(2)括号匹配的检验(3)表达式求值(4)舞伴问题一、栈和队列的定义和特点栈和队列时只能插入和删除在表的“端点”的线性表。其中,栈是后进先出,只在表尾操作LIFO;队列是先进先出(FIFO),只在表尾插入(入栈push),只在表头删除 (出栈pop)。栈顶指向待存入数据的地址1,栈的定义和特点栈的相关概念:栈和一般线性表的区别:仅在于运算规则不同2,队列的定义和特点队列的相关概念原创 2021-06-29 22:09:34 · 754 阅读 · 0 评论 -
数据结构----线性表应用案例
目录1.顺序表和链表的比较2.线性表的合并3.有序表的合并(1)顺序表实现(2)链表实现4.多项式运算5.稀疏多项式运算6.图书信息管理1.顺序表和链表的比较2.线性表的合并3.有序表的合并(1)顺序表实现(2)链表实现(前提是有序链表)1,两个指针pa,pb指向待操作链表的首元结点,以la的头结点作为lc的的头结点,pc指向lc头结点。2,当pa和pb都非空时,比较指向结点的data域,将data域较小的结点地址赋给pc指向结点的next域,再移动pc和较小结点指针,直原创 2021-06-28 21:40:05 · 3514 阅读 · 0 评论 -
数据结构----链表(单链表,循环链表,双向表)
文章目录一、基本概念二、单链表的基本操作1.初始化和判断空表2.销毁单链表3.清空单链表4.求单链表的表总结一、基本概念链表:用一组物理位置任意的存储单元来存放线性表的数据元素,逻辑次序和物理次序不一定相同。结点=数据域+指针域。结点只有一个指针域为单链表,首尾相接为循环链表。头指针指向链表第一个结点,存储第一个数据为首元结点,首元结点前可能附设头结点。无头结点时,头指针为空则为空表;有头结点时,头结点的指针域为空则为空表。头结点的优势:便于首元结点的处理,在链表的第一个位置的操作和其他位原创 2021-06-26 21:40:27 · 1201 阅读 · 0 评论 -
数据结构----线性表概念&顺序表
文章目录前言一、线性表基本概念二、线性表的顺序表的表示和实现1.线性表如何定义2.类C语言3.顺序表示总结前言一、线性表基本概念线性表是具有相同特性的数据元素的有限序列。元素有相同特性且为线性关系。从具体应用种抽象出共性的逻辑结构和基本操作(抽象数据类型),然后实现其存储结构和基本操作。顺序存储结构存在问题:存储空间分配不灵活以及运算的空间复杂度高。链式存储不需要额外的空间。接下来会一一涉及顺序存储和链式存储二、线性表的顺序表的表示和实现1.线性表如何定义顺序存储定义:逻辑上相原创 2021-06-24 22:02:09 · 192 阅读 · 0 评论