随笔分类 - 数据结构
摘要:一、原理 二、代码 // 快速排序,作者:C语言技术网(www.freecplus.net)码农有道。 #include <stdlib.h> #include <stdio.h> void quicksort(int *arr,unsigned int len) { if (len<2) retu
阅读全文
摘要:一、原理 1、第一次排序 2、第二次排序 3、第三次排序 二、代码 // 希尔排序,作者:C语言技术网(www.freecplus.net)码农有道。 #include <stdlib.h> #include <stdio.h> // 对希尔排序中的单个组进行排序。 // arr-待排序的数组,le
阅读全文
摘要:一、排序演示 1、3跟44比较,44大不动 2、38跟44比较,38小往前移 3、38跟3比较,3小不动 4、5跟44比较,5小往前移,跟38比较,5小往前移,5跟3比较,3小不动 二、代码 // 插入排序,作者:C语言技术网(www.freecplus.net)码农有道。 #include <st
阅读全文
摘要:一、定义一个数组(求出数组长度) #include <stdlib.h> #include <stdio.h> int main(int argc,char *argv[]) { int arr[]={44,3,38,5,47,15,36,26,27,2,46,4,19,50,48}; int le
阅读全文
摘要:一、定义一个数组(求出数组长度) #include <stdlib.h> #include <stdio.h> int main(int argc,char *argv[]) { int arr[]={44,3,38,5,47,15,36,26,27,2,46,4,19,50,48}; int le
阅读全文
摘要:一、顺序查找 1、哨兵 2、先排序 3、跳跃 二、折半查找 三、分块查找
阅读全文
摘要:一、广度优先搜索 1、广度优先算法 2、邻接表VS邻接矩阵 3、代码 4、BFS算法效率分析 5、广度优先生成树、生成森林 二、深度优先搜索 1、深度优先搜索 2、DFS算法效率分析 3、生成树、森林
阅读全文
摘要:一、最小生成树 二、最短路径 1、Dijkstra 三、拓扑排序 四、关键路径
阅读全文
摘要:一、图的基本概念 1、图的定义 2、无向图、有向图 3、简单图 4、度、入度和出度 5、路径、回路、连通、强连通 6、连通图、强连通图 7、子图、生成子图 8、连通分量、强连通分量 9、生成树 10、生成森林 11、带权图/网 12、几种特殊的图-完全图 二、邻接矩阵 三、邻接表 四、十字链表 五、
阅读全文
摘要:一、哈夫曼树的基本概念 1、结点的路径︰从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称做路径长度。 2、结点的权︰结点的数值有某种现实的含义(如重要性、两个点之间的距离等)。 3、结点的带权路径长度︰从树的根到该结点的路径长度与该结点上权值的乘积。 4、树的带权路径
阅读全文
摘要:一、平衡二叉树的概念 平衡二叉树(( Balanced Binary Tree ),简称平衡树(AVL_G.M.Adelson.-Melsky、E.M.Landis ) ,树上任意结点的左子树和右子树的深度之差不超过1。 结点的平衡因子=左子树的高度-右子树的高度 二、平衡二叉树的平衡调整 在二叉排
阅读全文
摘要:一、二叉排序树的基本概念 二叉排序树(二叉搜索树、二叉查找树 BST Binary Sort Tree ),一棵非空的二叉排序树具有下列性质 如果左子树不空,则左子树上所有结点的值都小于根结点的值; 如果右子树不空,则右子树上所有结点的值都大于根结点的值; 左右子树也分别是二叉排序树。 二、二叉排序
阅读全文
摘要:一、树的遍历 先根遍历和后根遍历 二、森林的遍历 先序遍历 中序遍历
阅读全文
摘要:一、树和二叉树的对比 二、树与二叉树的转换 三、森林与二叉树的对应关系 森林森林是m ( m>0 )棵互不相交的树的集合。如果把森林中的第n ( n>1)棵树的根结点看成是第1棵树根结点的兄弟,就可以用二叉链表存储森林,同样也可以导出森林与二叉树的对应关系。 四、二叉树转换成森林
阅读全文
摘要:一、存储方法 树的存储结构必须能唯一的体现树中各结点之间的逻辑关系,常用的存储式有三种:孩子兄弟表示法(链式存储)、双亲表示法(顺序存储)和孩子示法(顺序+链式存储)。 二、链式存储 三、顺序存储 四、顺序+链式存储
阅读全文
摘要:一、线索二叉树的原理 二、求前驱后继 求后继 求前驱 前驱后继 三、源码 /* * 程序名:btree3.c,此程序演示中序线索二叉树的创建及求前驱后继的方法。 * 作者:C语言技术网(www.freecplus.net) 日期:20200202 */ #include <stdio.h> #inc
阅读全文
摘要:一、先序遍历 二、中序遍历 三、后序遍历 四、实现方法 五、遍历序列构造二叉树 六、源码 /* * 程序名:btree2.c,此程序演示二叉树的前序遍历、中序遍历和后序遍历,包括递归和非递归两种方法。 * 作者:C语言技术网(www.freecplus.net) 日期:20200202 */ #in
阅读全文
摘要:一、定义两个个结构体 #include <stdio.h> #include <string.h> #include <stdlib.h> /////////////////////////////////////////////// // 二叉树的数据结构。 typedef struct BiTN
阅读全文
摘要:一、二叉树介绍 二叉树( binary tree )是树形结构中最重要的类型,它的规律性强,应用广泛。 二叉树的每个结点最多只能有两棵子树,分别被称为左子树和右子树。 二、满二叉树 三、完全二叉树 四、二叉排序树 五、二叉树的性质 1、 2、 3、 高度为n的二叉树最多只能有2ⁿ-1个结点。 六、完
阅读全文
摘要:一、树的定义 1、树型结构是非线性的数据结构,是以分支关系定义的层次结构。 2、树(tree)是n ( n≥0)个结点的有限集合, n= 0时表示空树。 3、在任意-棵非空的树中: 只有一个根(root)结点; 当n> 1时,其余结点可分为m( m>0 )个互不相交的有限集合,每个集合又是一棵子树(
阅读全文

浙公网安备 33010602011771号