摘要: 一、插入排序 1.直接插入 时间复杂度:O(nn) 稳定性:稳定 2.折半插入 基于插入排序和折半查找,用折半查找来找到插入位置,节省时间。 时间复杂度:O(n2) 稳定性:稳定 3.希尔排序 时间复杂度:O(n2) 稳定性:不稳定 二、选择排序 1.简单选择 找到序列未排序部分的最大值,放到已排序 阅读全文
posted @ 2020-07-12 23:57 黄浚泓 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 查找: 基本概念: 查找: 1.静态查找(查找过程中不改变原本的数据) 2.动态查找(查找过程中对原来的数据进行改动) 关键字: 数据元素(或记录)中某个数据项的值 平均查找长度ASL(Average Search Length): ASL = Σni=1 pi ci 其中n为查找表中元素个数,Pi 阅读全文
posted @ 2020-06-28 23:26 黄浚泓 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 第五章学习内容: 树: 基本概念: 节点的度:一个节点的子节点数 树的度:树里面最大的的节点的度 深度:一个节点的与根节点的距离+1 二叉树: 定义:除最后一层外所有层的节点数达到最大,最后一层的节点靠左的树 性质: 第i层最多有2i-1个节点 深度为k的树最多有2k-1个节点 n0=n2+1(ni 阅读全文
posted @ 2020-05-31 23:23 黄浚泓 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 第四章学习内容: 一、串 线性表的一种,一般指字符串。有两种存储方式: 顺序存储(相当于存字符的一维数组): [char1, char2, char3...charn] 链式存储(相当于data域为字符的链表): [char1]->[char2]->[char3]->...->[charn]->NU 阅读全文
posted @ 2020-05-05 21:53 黄浚泓 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 第二章我们更深入地学习了线性表,对线性表结构和对其进行的建立、查找、插入、删除等操作都有了更好的理解。 链表的基础操作: 定义: typedef struct Lnode { int data; struct Lnode *next; }Lnode, *Linklist; 初始化: void ini 阅读全文
posted @ 2020-04-12 21:14 黄浚泓 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 通过一周的学习,我对数据结构这门课的内容有了基本的了解,之前对数据结构要学什么其实也不太清楚,但是通过PrintN这个例子我了解了算法对于一个程序来说有多重要。本学期目标:写程序是要习惯考虑复杂度的问题,而不是写完能跑就算,加强基础编程能力,熟悉各种情况下的最优算法。 阅读全文
posted @ 2020-03-23 18:03 黄浚泓 阅读(143) 评论(0) 推荐(0) 编辑