摘要: 排序 插入排序: 直接插入排序 时间复杂度O(n^2)(比较n^2/2+移动n^2/2) 折半插入排序:每次通过折半查找法找到插入的位置。这样会比直接插入中使用的顺序查找法快 但时间复杂度仍为O(n^2) 希尔排序:先将待排序列分组,对每组进行直接插入排序,增加数据量重新分组。 是不稳定的排序 交换 阅读全文
posted @ 2020-07-11 16:21 宋沂澎 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 查找 1.平均查找长度ASL=ΣPiCi,查找成功时,Pi为第i个记录的概率,Ci为已比较过关键字的次数 查找方法 1.顺序查找:从表的一端开始依次比较 可用于线性表和链表 通过设置哨兵可以降低时间复杂度,使查找更简洁。 2.二分查找:首先查找表要有序 初始使low为1,high为表长,mid=lo 阅读全文
posted @ 2020-06-27 21:45 宋沂澎 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 图分为有向图和无向图 完全图:有向完全图 n(n-1)条弧,即每个两个顶点之间有两条互相指向的边 无向完全图n(n-1)/2条边 存储结构 1.邻接矩阵 adj[x][y]若有值(不为无限大),则代表x->y有一条有权值的边 一般把不通的边设成INT_MAX而不是0 若所有边没有权值,可以把连通的设 阅读全文
posted @ 2020-06-14 22:10 宋沂澎 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 第五章 树和二叉树 一:树 定义:n个结点的有限集,可为空或非空 若树非空一定有且仅有一个根结点 树的度:结点度的最大值(结点的子树数为结点的度) 深度:最大层次数 森林:m课不相交树的集合 课本上关于树只说明了定义和一些术语,重点内容在于二叉树部分 二:二叉树 二叉树的性质:深度为k的二叉树最多有 阅读全文
posted @ 2020-05-31 16:55 宋沂澎 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1.串 串也叫字符串,是一种由多个字符组成的序列,串中由连续相同字符组成的子序列叫做子串。串也可用顺序存储和链式存储,串中比较重点的是模式匹配算法 算法分为两种一种是BF算法,即暴力破解,简单直观,每个字符进行比较,如果相等就前进比较下一个字符,不相等就退回到0,然后与主串下一个字符比较,这种算法不 阅读全文
posted @ 2020-05-05 20:48 宋沂澎 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 第三章主要讲了队列和栈两种存储类型,两种都是操作受限的存储类型,其中栈的原则是后进先出,即只需在栈顶进行操作,只用一个top指针就可以完成大部分操作,而因为栈的这种特性,在递归函数中他也经常被应用,另外在一些括号匹配,进制转换之类的问题上栈也有他的用途,而队列是先进先出,用front和rear两个指 阅读全文
posted @ 2020-04-25 17:04 宋沂澎 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 数据结构第二章主要讲了线性表的存储结构,分别讲了顺序存储结构(数组)和链式存储结构 第一次操作链表,对链表的初始化和操作还有很多不熟悉的地方,而且还要根据实际问题考虑链表和顺序表哪种结构更好 最近很少看课本,应该多看课本,多回顾自己打的代码,才能加深印象 阅读全文
posted @ 2020-04-12 16:45 宋沂澎 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 上周学习了数据结构的第一章,主要是关于数据结构的介绍,和一些概念性的东西,让我对数据结构的重要性有了一定认识,对算法也有了简单的了解,知道了程序的执行效率也是很重要的,感觉对以后写代码有了很大提升 书上都是概念性的文字,但是的东西有在自己写程序的过程中才能慢慢体会到,以后还要加油 这也是第一次上网课 阅读全文
posted @ 2020-03-22 13:22 宋沂澎 阅读(147) 评论(0) 推荐(0) 编辑