摘要: 本章我们学习了对查找表的查找,查找表主要包括三种:线性表、树表和散链表。 (1)线性表的查找,主要包括顺序查找、折半查找、分块查找。 1)顺序查找算法简单,对表结构无任何要求,但查找效率较低,适用于不经常做插入和删除操作的线性表。 2)折半查找对表结构要求较高,查找效率也较高,适用于不经常做插入和删 阅读全文
posted @ 2019-06-02 23:58 kwli 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 本章学习了图的结构及应用, 首先是图的分类,图分为无向图、有向图、完全图、连通图、强连通图、带权图、稀疏图、稠密图等等。 图的存储方式有两大类,以边集合方式的表示法和以链接方式的表示法。其中,以边集合方式表示的为邻接矩阵(借助二维数组来表示元素之间的关系,实现较为简单),以链接方式表示的包括邻接表、 阅读全文
posted @ 2019-05-19 23:24 kwli 阅读(206) 评论(1) 推荐(0) 编辑
摘要: 经过半个多学期的学习,终于从线性结构跨越到非线性结构了。 通过这一章的学习,我明白了原来非线性的逻辑结构也可以通过顺序存储方式反映出结点之间的逻辑关系。 当然,印象最深的还是深入虎穴~ #include <iostream> 2 #include <cstdio> 3 #include <queue 阅读全文
posted @ 2019-05-04 23:48 kwli 阅读(89) 评论(1) 推荐(0) 编辑
摘要: 本章学习了两种算法,BF算法和KMP算法 BF算法就是暴力匹配,非常好理解 KMP算法的优点是,与BF算法相比,消除了回溯,大大提高了效率 缺点是,好难理解。。。 本章除了新学习了两种算法,我还看到了上学期所学的线性代数知识矩阵在编程上的应用(以前我总是不理解我一个计算机专业的学线性代数有什么用) 阅读全文
posted @ 2019-04-15 00:26 kwli 阅读(94) 评论(1) 推荐(0) 编辑
摘要: 简单写一些个人印象比较深的点吧 1.栈非空时,top始终指向栈顶元素的上一个位置,队列非空时,尾指针始终指向队尾元素的下一个位置。 2.链栈在栈顶插入删除,以链表头部作为栈顶最为方便,没有必要像单链表那样为了操作方便附加一个头结点。 3,链栈入栈和链队入队前不需要判断是否栈满和队满,只需要为入栈元素 阅读全文
posted @ 2019-03-31 23:40 kwli 阅读(123) 评论(2) 推荐(0) 编辑
摘要: 第二章是学习线性表。我觉得像我一个在上学期没有好好听课的人,面对着书里的算法有点不知所措,想要自己完成全部的代码有点困难。这周我把学习时间都用在了看课本和到处查资料上,结果收效甚微,果然要想学好这门课还是得多实践。以下是我对这一章的整理。 顺序表逻辑结构物理结构上都是相邻的,属于随机存取,便于使用下 阅读全文
posted @ 2019-03-18 22:34 kwli 阅读(95) 评论(0) 推荐(1) 编辑