摘要: 第8章学习了排序(主要是内部排序),可以分为插入排序、交换排序、选择排序、归并排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。 排序算法效率的评价指标有两个方面:执行时间和辅助空间 (1)执行时间:比较次数和移动次数都应该尽可能少 (2)辅助空间:理想的空间复杂度为O(1),即算法执行期 阅读全文
posted @ 2020-07-12 14:30 咕咕鸽子王 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 查找分为线性表的查找、树表的查找、散列表的查找。 一些定义: 查找表:由同一类型的数据元素(或记录)构成的集合(在查找时对表做修改操作,如插入和删除,则称为动态查找表;否则称为静态查找表) 关键字:数据元素(或记录)中某个数据项的值(如果一个查找表里只存储了关键字,意义不是很大 平均查找长度ASL: 阅读全文
posted @ 2020-06-26 22:31 咕咕鸽子王 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 图 一些重要的概念: (1)无向完全图:对于无向图,若具有 n *(n-1)/ 2条边,则称为无向完全图; 有向完全图:对于有向图,若具有n *(n-1)条弧,则称为有向完全图; (2)连通分量:无向图中的极大连通子图 Q1. 对于连通图,其连通分量是什么? 它本身 Q2. 如果从无向图的任一顶点出 阅读全文
posted @ 2020-06-14 22:08 咕咕鸽子王 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 大纲式思维导图 树 基本术语:结点的度(结点的子树个数)、树的度、叶结点(度为0)、父结点、兄弟结点、路径和路径长度、祖先结点、子孙结点、结点的层次、树的深度(注意根结点深度为1,而不是0) 二叉树的定义(五种基本形态) 完美二叉树(满二叉树)、完全二叉树(编号为 i 的结点与满二叉树中编号为 i 阅读全文
posted @ 2020-05-31 21:09 咕咕鸽子王 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目及sample如下: 7-1 出栈序列的合法性 (20分) 给定一个最大容量为 M 的堆栈,将 N 个数字按 1, 2, 3, ..., N 的顺序入栈,允许按任何顺序出栈,则哪些数字序列是不可能得到的?例如给定 M=5、N=7,则我们有可能得到{ 1, 2, 3, 4, 5, 6, 7 },但 阅读全文
posted @ 2020-05-05 14:29 咕咕鸽子王 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 本章学习了字符串的模式匹配、数组(顺序存储、特殊数组的压缩存储)还有广义表的知识,重点是BF算法和KMP算法。在做作业的过程中,能感受到KMP算法的确比BF算法的效率更高、时间更快,对两者的时间复杂度对比有了更深的体会。在一开始看KMP算法的时候,我觉得它很复杂,但是为了做作业不得不去理解这种算法, 阅读全文
posted @ 2020-05-05 14:18 咕咕鸽子王 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 这个单元学习了栈(顺序栈和链栈)、队列(循环队列和链队)的知识。虽然栈和队列其实是在顺序表和链表的基础上搭建的,但是我觉得第3章比第2章学的要好,可能因为有第2章的基础在,自己也习惯了顺序表和链表的大致框架吧。 这一次小组合作给了我们三个人当头一棒,我们因为不熟悉、不能灵活运用顺序表的结构,所以从一 阅读全文
posted @ 2020-04-25 13:17 咕咕鸽子王 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 敲代码时常常会遇到非正常退出的问题(初始化链表时出错);还有经常找不到自己的错误究竟是在哪里出现的,会花很多时间在找错误上。 这一章的学习觉得还有很多不足,经常边敲代码边翻翻书和笔记,还有改代码改到怀疑人生。 个人觉得看别人的博客是非常有用的做法,因为上面有别人学习时犯过的错误、经过优化后简洁的代码 阅读全文
posted @ 2020-04-12 01:23 咕咕鸽子王 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 心得体会: 虽说“万事开头难”,但第1章的学习反而给我有趣的感觉。不论是SPOC大家热火朝天的讨论、互动和完全进行线上网课这样前所未有的学习形式,还是从程序设计基础再深挖的学习内容,都让我对数据结构产生了越来越深的学习兴趣。 本学期的目标: 即使在这段特殊的日子里,我也希望自己能像在学校里一样约束自 阅读全文
posted @ 2020-03-18 19:37 咕咕鸽子王 阅读(189) 评论(0) 推荐(0) 编辑