摘要: 排序 1.插入排序:插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。较为稳定 时间复杂度:最好情况为0( 阅读全文
posted @ 2020-07-12 21:20 刘赵诣 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 一.查找 1.顺序查找:简单粗暴,将待查找数据和表中数据一一对比。 2.二分查找:也称折半查找,要求顺序表或者数组必须有序,查找效率相对较高。 3.分块查找:要求块与块之间有序,块内部不需要有序。查找效率高,但对表要求较高。 二.树的查找 1.二叉查找树:它或者是一棵空树,或者是具有下列性质的二叉树 阅读全文
posted @ 2020-06-28 21:48 刘赵诣 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 一.图的构建 1.邻接矩阵: #define Maxint 32767 #define MVNum 100 typedef char VerTexType; typedef int ArcType; typedef struct { VerTexType vexs [MVNum] ; ArcType 阅读全文
posted @ 2020-06-14 21:31 刘赵诣 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 本章学习内容:二叉树,树,森林,哈夫曼树,并初步了解了图的相关性质。 二叉树: 1.二叉树的构建:二叉树的构建可选用两种数据结构:数组和链表 数组:讲二叉树补全为完全二叉树(空余的部分用空表示)。此方法虽然在插入和遍历时较为方便,但是多数情况下会浪费大量的空间。一般不采用。 链表:一个结点包括三个部 阅读全文
posted @ 2020-05-31 21:23 刘赵诣 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 1.对本章内容的小结:本章学习了串,数组和广义表。 串和数组都是以前接触过的数据结构,这次深入学习了关于他们的操作与应用。 关于串,主要学习了匹配子串的两种算法,关于数组学习了压缩。 感觉本章难度最大的还是KMP算法,听了一遍还是模模糊糊的。最大的疑问就是老师讲解原理的时候,说到找子串的规律,就是找 阅读全文
posted @ 2020-05-05 13:01 刘赵诣 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 1.第三章学习了有关栈与队列的知识。栈的特点是先进后出,而队列的特点是先进先出。这两种处理方式都非常巧妙,对特定的问题也都能很好的解决。然后也接触了递归算法。现学现卖研究了汉诺塔问题,可以说递归算法是为这一类题目量身定制的。而用非递归算法解决这一问题则会让程序计算量成倍数增加。 2.完成作业时的心得 阅读全文
posted @ 2020-04-26 19:25 刘赵诣 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1.对本章内容的小结 这两个星期对于链表进行了更加深入的学习,通过几次作业也让我的链表操作更加熟练。让我感触最深的是两次小组合作,在合作的过程中,可以充分认识到自己思维的不足,并且可以学习到小组其他成员的思维和一些巧妙地处理方法,让我受益匪浅。 2.完成作业或实践时的心得体会 当苦苦钻研好几个小时的 阅读全文
posted @ 2020-04-12 18:45 刘赵诣 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 通过这一周的学习,对数据结构也有了一个初步的认识。印象最深的就是PrintN两种代码的区别,各有各的优势,也各有各的缺陷。这就需要我们加以对比,找出最适合的代码。 学习目标:努力学习,认真作业,可以使用较优的代码解决问题。 目前存在的困难 :C++基础不牢固,对代码理解不够透彻。 下一阶段的努力目标 阅读全文
posted @ 2020-03-22 18:16 刘赵诣 阅读(88) 评论(0) 推荐(0) 编辑