摘要: 第八章的内容是排序排序的稳定性:如果两个大小相同但位置的数据在排序之后它们的位置发生了改变,则该排序方法不稳定,否则为稳定。插入排序:(1)直接插入排序:将要排序的数据放在监视哨即0号下标的位置,然后比较大小,再将数据后移,直到找到插入的位置时间复杂度为O(n^2),空间复杂度为O(1)(2)折半插 阅读全文
posted @ 2020-07-12 23:33 冯培俊 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 1.顺序查找:逐个比较 时间复杂度:T(n) = O(n),)空间复杂度:S(n) = O(n) 2.折半查找 3.分块查找:把无序的列表分成若干子块(子表),然后建立一个索引表,记录每个子块中的某个关键字(最大的数或是最小的数),然后用关键字和这个索引表进行对比。该索引表还存储子块的起始位置,所以 阅读全文
posted @ 2020-06-29 01:23 冯培俊 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 本章节学习了树,其中最重要的就是二叉树,以下是树的定义 typedef struct {//树类型定义 Node *nodes; //在初始化时使用new来申请空间 int root; //根结点下标 }Tree; 另外就是对于树的遍历,有三种遍历方法,先序输出,中序输出和后序输出,可以通过递归来完 阅读全文
posted @ 2020-05-31 23:12 冯培俊 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 这一章主要学习了串,数组,广义表,还学习了两种匹配算法,bf算法和kmp算法,bf算法比较简单直接,但是会有很长的时间开销,而kmp算法可以优化时间开销,要注意一开始起始的判断条件,将m*n可以优化成m+n 阅读全文
posted @ 2020-05-06 12:07 冯培俊 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 第三章主要讲了队列和栈的两种存储类型,栈的存储方式是先进后出,在栈顶操作,用top指针即可完成很多操作,也延伸了递归的用法。而队列有两个指针,分别是front和rear,通常我们用两个指针是否相等来判断空队列,也要注意要注意循环队列的这种情况,这类题目的完成我建议还是多画图来做,更加清晰。另外和上个 阅读全文
posted @ 2020-04-26 21:51 冯培俊 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 这一章节里讲了链表和顺序表的各种操作,一开始是比较难理解的,但是在不断的画图和写代码之后对这方面的知识确实有了长进,另外就是小组打代码更加有利于自己编码的能力提升 阅读全文
posted @ 2020-04-13 10:36 冯培俊 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 第一章一开始觉得ADT有点抽象,但是看了书本的编写方式和老师对我的评论之后,让我大概知道了数据对象,数据关系和基本关系的操作。然后我觉得提前预习是这个科目很重要的不然和老师不在一个水平上,所以课前一定要看好课本和老师提前布置的任务,上学期由于学的并不扎实所以要多回顾以前的知识,争取这个学期考到高分 阅读全文
posted @ 2020-03-22 23:58 冯培俊 阅读(110) 评论(0) 推荐(0) 编辑