![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
CRongQ
不忘初心,脚踏实地!
展开
-
查找-顺序查找
顺序查找的思路:从数据的第一个元素开始,依次将扫描到的关键字和给定值key比较。若当前扫描到的关键字和key相等,则查找成功;若扫描结束还没有找到和key相等的元素,就表示查找给定的值不在表中。时间复杂度:O(n).优点:1.算法简单2.对表结构没有任何要求,用顺序表或者用链表都可以。3.表中元素之间是否有序,仍然可适用。例子:查找数组{3,6,2,10,1,8,5...原创 2018-09-11 15:34:24 · 386 阅读 · 0 评论 -
查找-折半查找(二分查找)
折半查找折半查找,也称为二分查找。其要求是数据是有序的,即表中元素按关键字有序。比如有序表是递增有序的。首先取这表中的中间的数据与关键值(给定值key)比较的关系。若key>表的中间值,则说明key存在于表的中间值的右侧。因此,中间值右侧的区间又要取出中间值再与key比较,以此类推,直至查找成功或者区间缩小为0时还找不到就结束。若key有与表中某区间 的中间值相等,则说明查找成功...原创 2018-09-13 15:45:20 · 2956 阅读 · 0 评论 -
查找-分块查找
索引存储结构存储节点信息时,建立索引表,索引表含有若干个索引项,索引项的一般形式:(关键字,地址),关键字表示表示一个节点,地址是指向节点的信息。可以通过索引的方法来操作相应位置的数据。优点:1.提高数据查找的速度2.插入、删除时,只需要移动索引表中对应节点的存储地址,而不必移动节点中节点的数据。缺点:增加了索引表,所以降低了存储空间的利用率。分块查找(又称索引顺序...原创 2018-09-13 22:48:50 · 4683 阅读 · 6 评论 -
查找-二叉排序树查找
二叉排序树的性质:(1)若某节点的左子树非空,则左子树上所有元素的值都小于该元素的值。(2)若某节点的右子树非空,则右子树上所有元素的值都大于该元素的值。问题:在二叉排序树种,原则上各元素关键字是唯一的。然而在实际运用中,不能保证各元素之间的关键字都不相同。因此性质中,可以把”大于“或”小于“修改成”大于等于“或者“小于等于”。特点:1.二叉排序树是有序的2.构造的二叉排序...原创 2018-09-14 08:56:14 · 2163 阅读 · 1 评论 -
数据结构教程--李春葆版(总结)之线性表-顺序存储结构概念
本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。线性表的顺序存储结构性质:线性表所占用存储空间大小:n乘以sizeof(ElemType),其中n表示线性表的长度,ElemType是线性表中的数据元素。表中某数据元素的存储地址:LOC(A)+i*sizeof(ElemType)(其中LOC(A)表示为起始位置,i为顺序表的下标序号)线性表的顺序...原创 2019-06-22 15:58:18 · 974 阅读 · 0 评论 -
数据结构教程--李春葆版(总结)之线性表-顺序存储结构练习题
本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。【例2.2】假设有两个集合A和B,分别用两个线性表LA和LB表示,即线性表中的数据元素为集合中的元素。利用线性表的基本运算编写一个算法求一个新的集合C=AUB,即将两个集合的并集放在线性表LC中。void unionList(List LA,List LB,List &C){int lena,i;E...原创 2019-06-23 09:11:53 · 1958 阅读 · 0 评论 -
数据结构教程--李春葆版(总结)之排序-插入排序
本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。插入排序性质:每次将一个待排序的元素,按其关键字大小插入到已经排好序的子表中的适当位置,直到全部元素插入完成为止。直接插入排序//直接插入排序-稳定typedef struct{int key;}RecType;void InsertSort(RecType R[],int n){int i,...原创 2019-06-23 20:15:37 · 587 阅读 · 0 评论 -
数据结构教程--李春葆版(总结)之排序-交换排序
本文的主要内容来自数据结构教程--李春葆版,由“你是木头人”博主进行总结。交换排序性质:两两比较待排序元素的关键字,发现两个元素的次序相反时即进行交换,直到没有反序的元素为止。冒泡排序//冒泡排序-稳定typedef struct{int key;}RecType;void BubbleSort(RecType R[],int n){ int i,j...原创 2019-06-23 20:32:53 · 771 阅读 · 0 评论