数据结构笔试面试总结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、线性表: 线性表的定义和抽象数据类型:线性表可以是有序、无序表;抽象类型包括数据和操作两个部分,数据部分可以用顺序,链接,散列,索引任何一种方法存储到计算机中;线性表的顺序存储结构和链接存储结构(单链表,双向链表,带表头的附加结点的线性链表,循环链表);操作:初始化单链表,删除单链表中的所有结点,使之成为一个空表,得到单链表的长度,检查单链表是否为空,得到单链表多种第及个结点中的元素,遍历一个单链表,从单链表中查找出等于给定值的第一个元素,更新单链表中等于给定值的第一个元素,向单链表中按照给定条件插入一个元素,从单链表中删除符合给定条件的第一个元素,对单链表进行数据排序. 二、稀疏矩阵、集合、广义表 稀疏矩阵:非零元素的个数远远小于零元素个数,对于每个非零元素的表示是通过三元组(主序:行号,辅序:列号,元素值),采用顺序或链式方式存储。 广义表:线性表的推广,表或表中表。采用动态链接结构。递归的数据结构。 三、栈和队列 栈:只允许在表的一端进行插入和删除运算,对栈进行运算的成为栈顶,另一端为栈底。向栈插入元素叫进栈,删除元素叫出栈。栈是先进后出。栈顶指针为-1表示栈为空,进栈,栈顶指针+1,出栈,栈顶指针-1.递归数据结构。 队列:在一端进行插入,在另一端进行删除,插入的一端叫做队尾(rear),进行删除的一端叫做队首(front),先进先出。 四、树 非线性数据结构。 结点的度和树的度;分支结点和叶子结点;孩子结点和双亲结点;结点的层数和树的深度;有序树和无序树;森林; 树的性质; 二叉树:度为2的有序树。存储结构:顺序存储,数组;链接存储结构:指针; 二叉树的遍历:前序遍历:DLR 中序遍历:LDR 后序遍历:LRD 树的遍历:先根遍历,后根遍历,按层遍历 五:图 顶点的度依附于顶点的边的数目记为td(v) ; 顶点的出度 od(v) ; 顶点的入度 id(v) ; td(v)=od(v)+id(v); 性质: 1 n个顶点的无向图最多有n(n-1)/2 条边; 2 n个顶点的有向图最多有n(n-1)条边; 六:查找: 查找: 1、顺序查找 2、二分查找 3、分块查找 4、数表的动态查找(二叉排序树查找、平衡二叉树AVL树、B树、B+树) 5、哈希查找 查找有静态查找和动态查找两种,静态查找只在数据结构里查找是否存在某 个记录而不改变数据结构。实现静态查找的数据结构称为静态查找表;动态查找 要在查找过程中插入数据结构中不存在的记录,或者从数据结构中删除已存在的记录。实现动态查找的数据结构称为动态查找表。衡量查找算法的标准是平均查 找长度,它是指在查找过程中进行的关键码比较次数的平均值。实现动态查找的 数据结构称为动态查找表。 静态查找表的查找方法主要有顺序查找、折半查找和索引查找等。顺序查找 不要求查找表中的记录有序,效率不是很高,适合于记录不是很多的情况。折半 查找要求查找表中的记录有序,查找效率很高,适合于记录比较多的情况。索引查找要求查找表分段有序,适合于记录非常多的情况。动态查找表主要介绍了二 叉排序树。二叉排序树是一棵二叉树,其左子树结点关键码的值小于根结点关键 码的值,右子树结点关键码的值大于根结点关键码的值。二叉排序树上的操作主要有查找、插入和删除等操作。 在哈希表中查找记录不需要进行关键码的比较,而是通过哈希函数确定记录 的存放位置。哈希函数的构造方法很多,主要有直接定址法、除留余数法、数字 分析法和平方取中法等。由于同义词会产生哈希冲突,解决哈希冲突的方法主要 有开放地址法和链表法等,其中开放地址法主要有线性探测法和二次探测法等。查找又称检索,是在程序设计中对数据结构中的记录进行处理时经常采用的 一种操作。同排序一样,查找是对关键码进行处理,关键码分为主关键码和次关键码,以主关键码进行的查找是最经常、也是最主要的查找。 1.顺序查找法 即从第一个元素顺序到最后一个元素依次与待查的值进行比较,如果相等,查找成功,否则继续比较,直到所有元素都比较过了,如果还没有匹配的值,查找失败。查找适用于数据量少、不要求已经排序的数据,它的时间复杂度为O(N); 2.二分查找 又称折半查找,适用于数据量大、已经排序的数据,它的时间复杂度为O(Log2(N))。 二分查找的基本思想是(设R[low..high]是当前的查找区间) : (1)首先确定该区间的中点位置:mid=(low+high)/2 (2)然后将待查的K值与R[mid].key比较:若相等,则查找成功并返回此位置,否则须确定新

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档