数据结构
文章平均质量分 72
callmetomato
这个作者很懒,什么都没留下…
展开
-
数据结构之树、二叉树和森林
树,二叉树,森林原创 2017-03-20 15:21:48 · 627 阅读 · 0 评论 -
数据结构之平衡二叉树(AVL树)
定义:称一颗增长二叉树为高度平衡树,当且仅当或由单一外结点组成,或由两个子树形Tl和Tr组成,并且满足: (1) |h(Tl) - h(Tr)| ≦1,其中h(T)表示树T的高度; (2) Tl和Tr都是高度平衡树。 由定义可知空树是平衡二叉树。定义:设T为增长二叉树,q是T之内结点,qL和qR是q的左、右子树,hL和hR分别为qL和qR的高度,q的平衡系数(或称平衡因子)BF(q)定义为hR转载 2017-03-28 11:51:18 · 438 阅读 · 0 评论 -
数据结构之红黑树
定义:红黑树是一颗二叉查找树,树中结点颜色或为红色或为黑色,且满足如下条件: ⑴根结点和所有外结点的颜色为黑色; ⑵根结点到任意一个外结点的路径上没有连续的两个红色结点,(若一个结点是红色,则其两个儿子结点都是黑色); ⑶根结点到任意外结点的路径上都有相同数目的黑色结点。1:插入操作 插入操作可以概括为以下几个步骤: ⑴查找要插入的位置,时间复杂度为O(N); ⑵将新结点的颜色赋为红色;转载 2017-03-28 16:34:35 · 183 阅读 · 0 评论 -
数据结构之散列
散列方法以给定变元K(关键词)为自变量,通过某种函数关系h(K)直接计算出函数值,这个值被解释为存放以K为关键词之记录的存储单元的地址。查找时,用相同方法计算出与给定变元K对应之记录的存储地址A,进而到A所指的存储单元中取出要查之记录。 1:散列函数 ⑴ 压缩法 压缩法是把关键词的二进制串分割成若干个子串,然后按某种方式把这些子串合并形成该关键词的地址。比如利用异或运算进行合并,h(THE)=原创 2017-03-28 19:48:12 · 405 阅读 · 0 评论 -
数据结构之排序算法
1 直接插入排序 将一个记录插入到已经排好序的有序表中,只有当排序结束时每个元素才能进入到正确的位置,复杂度为O(n2)。 优点:算法简单、易行,当待排序记录数量较少时,该算法非常有效; 缺点:数据规模较大时,效率比较低。算法InsertSort(R,n) //直接插入排序算法,本算法排序n个记录,使得它们相应的关键词排列成一个非递减的序列 InsertSort1.[插入排序] For j=2原创 2017-03-23 17:12:06 · 179 阅读 · 0 评论 -
数据结构之排序算法
1 对半查找 算法B(N, R, K.i)给定其关键词在递增次序下包含N个记录R1,R2,…,RN的一个表,本算法查找一个给定变元K,用两个指针s和e分别指出当前被查找文件中最左边记录的下标和最右边记录的下标。B1.[初始化] 置s=1; e=N; B2.[取中点] 如果e<s,则该算法以失败告终;否则,值i=(s+e)/2; B3.[比较] 如果K<Ki,则转步骤B4;如果K>Ki,则转步骤B5原创 2017-03-26 16:10:56 · 192 阅读 · 0 评论