【数据结构】名词解释

1、Data structures and algorithms

类型(type):是一组值的集合。
简单类型simple type:值不含子结构;
复杂类型(或组合类型)composite type, aggregate type:含有子结构(或由子结构组合而成)。
数据类型 data type:指一种类型和定义在该类型上的一组操作。
ADT抽象数据类型:指数据结构作为一个软件组件的实现。一个数学模型及定义在这个模型上的一组操作(或运算)的总称.
数据结构data structure:ADT的实现。
函数function:输入和输出之间的一种映射关系。
算法algorithms:一种能够解决问题的、有具体步骤的方法。
程序programs:算法在计算机程序设计语言中的实现。


2、Mathematical preliminaries(数学基础)

概念:set, recursion
集合set:由互不相同的成员或者元素构成的一个整体。
递归:如果一种算法调用自己来完成它的部分工作,就称这种算法师递归的。


3、Algorithm Analysis

概念:asymptotic algorithm analysis, growth rate, best/worst/average case, upper/lower bound,
space/time tradeoff, big-Oh/big-Omega/Theta notation
渐近算法分析:有一种办法能够解决所有这些问题,简称算法分析。
增长率:指当输入的值增长时,算法代价的增长速率。
最佳(最差)情况:某种算法的运行时间在这种情况下最短(最长)。
平均情况:这种情况下,算法平均检查n/2个元素。
上(下)限:该算法可能有的最高(最差)增长率。
上限:O
下限:Ω
上下限相等时:Θ
space/time tradeoff空间/时间权衡原则:牺牲空间或其他替代资源,减少时间代价;或反之。


4、list

概念:list, array-based list, linked list, ordered/unordered list, singly/doubly linked list, array,
(array-based, linked) stack, (array-based, circular, linked) queue
算法:基于list/stack/queue 的算法
List线性表:由称为元素的数据项组成的一种有限且有序的序列。
顺序表:用一组地址连续的存储单元依次存储数据元素的线性结构。
链表:链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。
有序线性表:元素按照值的递增顺序排列。
无序线性表:元素的值与位置之间没有特殊的联系。
单链表:每个结点只有一个指向表中下一个结点的指针。
双链表:存储两个指针,一个指向它的后继结点,另一个指向它的前驱结点。
Array数组:相同数据类型的元素按一定顺序排列的集合。
栈:限定仅在一端进行插入或删除操作的线性表。
队列:只能从队尾插入,从队首删除的线性表。


5、binary trees

概念:BST, Huffman tree, full/complete binary tree, height/depth of a binary tree,full binary tree 的性质,heap, priority queue
应用题:BST 中的插入/删除,Huffman 树的构造,heap 的构造,基于遍历序列还原二叉树
算法:基于二叉树遍历的各种算法,BST 上的操作
BST二叉查找树:任意一个结点值为K的左子树中任意一个结点值小于K,右子树中任意一个结点的值都大于或大于K。
哈夫曼树:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。
满二叉树:每一个结点或者是一个分支结点,并恰有两个非空子结点;或者是叶结点。
完全二叉树:从根节点起每一层从左到右填充。
结点M的深度就是从根节点到M的路径的长度;树的高度等于最深结点的深度加一。根节点的深度为0,层数也为0。
堆:是一颗完全二叉树,用数组实现;存储的数据是局部有序的,即节点存储的值与其子节点存储的值存在某种联系。
优先队列:按照重要性或优先级来组织的对象。


6、general trees

概念:traversal,Equivalence classes,K-ary tree
应用题:树的存储表示
看懂:traversal/UNION/FIND 几个操作的实现思想
遍历:按照一定顺序访问树的结点,称为一次周游或遍历。
等价类:等价关系可用来把一个集合划分为一些等价类。
K叉树:K叉树的结点有K个子节点。


7、internal sorting

概念:各种排序算法的基本实现思想,各算法的best/worst/average case 时间复杂度,stable sorting
algorithm
应用题:shell sort/bubble sort/quick sort/heap sort/的排序过程
稳定排序算法:如果一种算法不改变关键码值相同的记录的相对顺序,则称为稳定的。


8、File processing and external sorting

概念:track/sector/cluster, Golden Rule of File Processing, external sorting, run
磁道:磁头在一个盘片的某个位置上可以访问的所有数据就构成了一个磁道,即这个盘片上与主轴具有相同距离的所有距离。
扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区。
簇:多个扇区通常集结成组,称为一个簇。
文件处理的黄金法则:使磁盘访问次数最少。
方法:(1)适当安排信息位置;
(2)合理组织信息,使每次访问都能得到更多的数据。
外部排序:对驻留在外部存储器里的记录的排序。
顺串:归并排序中被排序的子列。


9、Searching

概念:hashing, properties of hash function, collision, Open hashing, Separate chaining, Closed hashing,
Probe function, load factor
应用题:hash 表的构造(基于不同的冲突解决方式)
散列:可以把关键码值映射到表中的位置来访问记录,这个过程成为散列。
哈希函数(散列函数):把关键码值映射到位置的函数。
性质:适用于集合,不适用于范围检索。
冲突:若在哈希函数h中,h(k1)=h(k2)=a,其中a是表中的一个槽,则称k1和k2对于a在函数h下有冲突。
开散列方法(单链方法):把冲突记录存储在表外。
闭散列方法(开地址方法):把冲突记录存储在表中另一个槽中。
探查函数:冲突解决策略的目标是,当记录的基位置已被占用时在散列表中找到一个空槽。可以把任何冲突解决方法都看成产生一组可能放置记录的散列表的槽。这组槽成为冲突解决策略产生的探查序列。 P(R,i)为探查函数,为关键码R的探查序列的第i个槽返回从基位置开始的偏移量。


10、indexing

概念:entry-sequenced file, indexing, primary/secondary key, Linear indexing, 2-3 tree, B-tree,
B+Tree
应用题:2-3 tree/B-tree/B+Tree 中的insert/delete 操作
输入顺序文件:按记录进入系统的顺序把记录存储在磁盘中。
索引:把一个关键码与相应数据记录的位置相关联的过程。
主码:数据库中每一条记录通常都有一个唯一的标识。
辅码:多条记录具有相同的关键码值的关键码。
线性索引:索引文件中是一组关键码/指针对,文件按关键码顺序排序,指针可以指向磁盘中完整记录所在的位置,也可以指向主索引中主码的位置。
2-3树:1.一个节点包含一个或两个关键码;
2.每个内部节点有两个子女或者三个子女,因此得名2-3数;
3.所有叶节点都在树结构的同一层,因此树的高度总是平衡的。
B树:2-3树的推广。
一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树,深度为m。它或者是空树,或者是满足下列性质的树:
1、根结点至少有两个子女
2、 每个非根节点所包含的关键字个数 j 满足:┌m/2┐ - 1 <= j <= m - 1;
3、除根结点以外的所有结点(不包括叶子结点)的度数正好是关键字总数加1,故内部子树个数 k 满足:┌m/2┐ <= j <= m ;
4、所有的叶子结点都位于同一层。
B+树:只在叶节点存储记录,内部结点存储关键码值。


11、graph

概念:path, cycle, connected component, Adjacent list/matrix, BFS, DFS, topological sort, DAG, MST
应用题:BFS/DFS 遍历过程,shortest path(Dijkstra/Floyd 算法)的构造,MST (Prim/Kruskal 算法)
的构造
路径:两顶点之间的边。
回路:一条路径将某个顶点连接到它本身,且长度大于或等于3,则称此路径为回路。
连通分量:无向图的最大连通子图。
相邻矩阵:
邻接表:一个以链表为元素的数组。
BFS (广度优先搜索):深入访问其他顶点前,检查起点的所有邻接点。
DFS深度优先搜索:访问某个顶点后会递归访问它的所有未被访问的相邻顶点。
拓扑排序:将一个DAG中所有顶点在不违反先决条件规定的基础上排成线性序列的过程。
DAG:有向无环图。有向无环图:顶点之间有方向性,图是有向的,无回路的。
MST:最小支撑树是一个包括G所有顶点及其一部分边的图,其中包括的边是G的子集,这个子集中所有边的权之和为所有子集中最小的;子集中的边能保证图是连通的。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值