数据结构
文章平均质量分 89
fir_dameng
这个作者很懒,什么都没留下…
展开
-
数据结构—树与二叉树篇I
4.1树树的性质:1) 树中的结点数等于所有结点的度数加12) 度为m的树中第i层上至多有m^(i-1)个结点(i>=1)3) 高度为h的m叉树至多有(m^h-1)/(m-1)个结点4) 具有n个结点的m叉树的最小高度为|- logm(n(m-1)+1) -|(取上限)求解数结点和度之间的关系有:1) 总结点数原创 2017-03-12 01:42:37 · 705 阅读 · 0 评论 -
数据结构—排序II
一. 选择排序 【基本思想】每一趟(比如第i趟)在后面 n-i+1(包括第i个元素)个待排元素中选取关键字最小的元素,作为有序子序列(前1…i-1个有序元素)的第i个元素,直到第n-1趟做完,待排元素只剩下一个,就不用再选了(也就是说只选择了第1,2….n-1号元素) A. 简单选择排序【算法思想】 假设排序表为L[1….n],第i趟排序即从L原创 2017-03-12 04:20:16 · 517 阅读 · 0 评论 -
数据结构—排序III
一. 归并排序 【基本思想】 将两个或两个以上的有序表合成一个新的有序表。 【归并-算法步骤】设有两段有序表A[ low …mid] A[mid+1…high] 存放在同一顺序表的相邻位置上,现将他们复制到辅助数组B中(这里是关键,决定了无论何种情况,即和输入状态无关,该算法空间复杂度为O(n))。每次从对应B中两个段取出一个记录进行关键字比较,将较小者放入原创 2017-03-12 04:32:36 · 596 阅读 · 0 评论 -
数据结构—排序I
要求:算法思想,排序过程(手动模拟),特征(初态的影响,时空复杂度,稳定性,适用性等) 算法的稳定性:存在相同关键字时,排序后二者的相对位置是否发生改变。如果改变了,则为不稳定的排序,否则,则为稳定的排序算法。 内部排序:在排序期间元素全部存放在内存中的排序。外部排序:是指在排序期间元素无法全部同时存放在内存中,必须在排序过程中根据要求不断的在内外存之间移动的排序。 一原创 2017-03-12 04:10:18 · 523 阅读 · 0 评论 -
数据结构 — 查找IV
字符串模式匹配 【定义】是求第一个字符串(模式串 )在第二个字符串(主串)中的位置。 一.简单模式匹配算法 【算法描述】 从主串S指定字符开始(一般为第一个)和模式串T的第1个字符比较,若相等,则继续逐个比较后续字符,直到T中的每个字符依次和S中的一个连续字符序列相等,则称匹配成功;如果比较过程中有某对字符不相等,则从主串S的下一个字符再重新和T的第一个字符比较。如果S中的原创 2017-03-12 03:55:54 · 430 阅读 · 0 评论 -
数据结构 — 查找III
B+树的基本概念 【应用】为数据库设计的一种B树的变形树 【定义】 一个m阶的B+树: 1. 每个分支结点至多有m棵子树(子结点)1. 字和指向该子树的指针,不含有该关键字对应记录的存储地址(B树中结点还存储着对应磁盘页面的地址,便于从B树中找到结点后,从磁盘将该结点信息读入内存)原创 2017-03-12 03:50:35 · 715 阅读 · 0 评论 -
数据结构 — 查找II
4分块查找(索引顺序查找) 【基本思想】将查找表分成若干子块。块内元素可以无序(有序的话,折半查找更 快),但块之间是有序的(即第一个块的最大关键字小于第二个块中所有记录关键 字),依次类推第二块,第三块。 再建立一个索引表,索引表中的每个元素含有原创 2017-03-12 03:26:34 · 287 阅读 · 0 评论 -
数据结构 — 查找I
查找表(查找结构):由于查找的数据类型集合,它由同一类型的数据元素[h1] (或记录)组成。 对查找表的操作一般有四种:1. 查询某个特定的数据元素是否在查找表中2. 检索满足条件的某个特定的数据元素的各种属性3. 在查找表中插入一个数据元素4. 从查找表中删除某个数据元素 静态查找表:只包括1,2操作,适合静原创 2017-03-12 03:08:43 · 634 阅读 · 0 评论 -
数据结构—图II
图的应用Prim算法1. 初始化:向空树T=(Vt,Et)中添加图G=(V,E)的任一顶点u0, 使Vt={u0}, E1=2. 循环(重复下列操作至Vt=V):从图G中选取满足{|u且具有最小权值的边,并置Vt=Vt [居然不会有回路的情况?原因在于u,v一定是属于不同的集合]伪代码:Voi原创 2017-03-12 02:54:23 · 853 阅读 · 1 评论 -
数据结构—树与二叉树篇III
二叉树的应用1 二叉排序树(BST)l 特点: 左子树结点值 l 查找算法思想:若二叉排序树为非空,则给定值与根结点的关键字比较,若相等,则查找成功;若不等,则当根结点的关键字大于给定的关键字值时,在根结点的左子树查找,否则根结点的右子树查找。(有递归和非递归算法实现)l 插入【注】二叉树是动态集合,树的结构通常不是一次性形成的,而是在查找过程中,当原创 2017-03-12 02:12:08 · 588 阅读 · 0 评论 -
数据结构—图II
图的遍历 定义:图的遍历是指从图中某一顶点出发,按照某种搜索方法沿着图中的边对图中的所有顶点访问一次且仅访问一次。 【注】树其实也是一种特殊的图,所以树的遍历实际上也可以看作一种特殊图上的遍历。 顺序表->树->图 l 广度优先搜索(Breadth-Fist-Search)原创 2017-03-12 02:36:30 · 458 阅读 · 0 评论 -
数据结构—图I
图的基本概念 1. 图的定义 图G是由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图中的非空有限集。 【注】线性表和树都可以为空,但是图不可以为空。 2. 图基本概念和术语 弧:表示有向图中的边。 完全图:图中任意两个顶点(图中称之为顶点,树原创 2017-03-12 02:28:25 · 698 阅读 · 0 评论 -
数据结构—树与二叉树篇II
树的存储结构1. 双亲表示法:采用一维连续空间存储,每个结点中增设一个伪指针(指向其双亲结点在数组中的位置) *区分二叉树的顺序存储 2 孩子表示法:结点采用一维连续空间,但每个结点的孩子都用单链表链接起来(叶结点的孩子链表为空表),优化:可在结点中增设伪指针指向双亲结点3. 孩子兄弟表示法:二叉链表作为树的存储结构,结原创 2017-03-12 01:58:47 · 1078 阅读 · 0 评论 -
数据结构—排序IV
一、 多路归并与败者树 【引】 归并趟数S=⌈ ⌉。然而当增加归并路数m是,内部归并时间将增加。做内部归并时,在m个元素中选择关键字最小的记录需要比较m-1次(由于每个归并段之前是有序的,即从m个归并段的第一个记录的相互比较中选出最小者需要m-1次比较)。每趟归并n-1个元素需要做(n-1)*(m-1)次比较,S趟归并总共的比较次数为: S*原创 2017-03-12 04:41:11 · 961 阅读 · 0 评论