![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
狮子座的程序员
不积跬步无以至千里,不积小流无以成江海
展开
-
VScode——【安装】——VScode的安装与配置
VScode确实一款非常好用的软件啊,它的插件蛮多的,能编译后端以及前端各种语言,C、C++、java、js、notejs等等。它最牛逼的地方就是它的插件多还轻便,是IDE里非常好用的一款了,我也是在同学的推荐下试用了它,不得不说,NB!而且还完全免费!!!害,拿来练习数据结构再舒服不过了第一步:下载VScode环境链接:https://pan.baidu.com/s/1Jv8qjRLmciwP6pg-vOoSaw提取码:bsg6第二步:配置环境变量找到mingw64文件的bin目录,在环原创 2020-06-09 19:56:26 · 503 阅读 · 0 评论 -
数据结构——【排序】——简单选择排序
简单选择排序的基本思想:每一趟选出关键字最小的元素与L(i)交换,每一趟排序可以确定一个元素的最终位置,经过n-1趟排序即可整个有序。时间复杂度:O(n²)稳定性:不稳定下面投放简单选择排序的代码#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define MaxSize ...原创 2019-11-12 22:54:21 · 468 阅读 · 0 评论 -
数据结构——【排序】——快速排序
快速排序的基本思想:在待排序表中任取一个元素作为基准,通过一趟排序将待排序表划分为独立的两个部分,使得左边元素都小于基准,右边元素都大于基准。时间复杂度:log2n稳定性:不稳定下面投放快速排序的代码#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define MaxSiz...原创 2019-11-12 22:32:09 · 302 阅读 · 0 评论 -
数据结构——【排序】——冒泡排序
冒泡排序的基本思想:从后往前两两比较相邻元素,若为逆序,则交换位置,直到序列比较完为一趟冒泡排序,这时排出来了最小的元素,继续做冒泡,直到全部有序。时间复杂度:O(n²)稳定性:稳定下面投放冒泡排序代码#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define MaxSize...原创 2019-11-12 20:43:57 · 252 阅读 · 0 评论 -
数据结构——【排序】——希尔排序
希尔排序的基本思想是:先将待排序表分割成若干形如L[i,i+d,i+2d,···,i+kd]的子表,分别进行直接插入排序,当整个表中的元素有序的时候,再对全体记录进行一次直接插入排序。时间复杂度:O(n²)稳定性:不稳定适用性:仅适用于顺序表下面投放希尔排序的代码#include<stdio.h>#include<stdlib.h>#include...原创 2019-11-12 19:55:04 · 288 阅读 · 0 评论 -
数据结构——【排序】——折半插入排序
折半插入排序的基本思想是:先折半找出元素的待插入位置,然后统一地移动待插入位置之后的所有元素。时间复杂度为:O(n²)稳定性:稳定下面投放折半插入排序的代码#include<stdio.h>#include<stdlib.h>#include<malloc.h>#define MaxSize 50typedef struct{ i...原创 2019-11-12 18:25:43 · 298 阅读 · 0 评论 -
数据结构——【排序】——直接插入排序
直接插入排序的基本思想是:每次将一个待排序的记录按其关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成。时间复杂度为:O(n²)稳定性:稳定适用性:适用于顺序存储和链式存储的线性表。下面投放直接插入排序的代码:#include<stdio.h>#include<stdlib.h>#include<malloc.h>#def...原创 2019-11-12 16:47:42 · 367 阅读 · 0 评论 -
数据结构——【查找】——分块查找
简单介绍下分块查找,基本思想是将表分为若干子块。块内元素可以无序,但块之间必须有序。分块查找的过程:第一步是在索引表中确定待查记录所在的块,可以顺序查找或折半查找索引表。第二步是在块内顺序查找。分块查找的最佳块长:s=√n平均查找长度:得根据查找方式来,比如块间采用折半,块内采用顺序查找,则平均查找长度为...原创 2019-11-12 15:20:50 · 4325 阅读 · 6 评论 -
数据结构——【查找】——折半查找
简单介绍下折半查找,折半查找仅适用于有序的顺序表。查找成功的平均查找长度为log2(n+1)-1折半查找判定树的树高为log2(n+1)向上取整下面投放折半查找代码#include <stdio.h>#include <stdlib.h>#define MaxSize 50#define keyType int//顺序表结构体typedef ...原创 2019-11-12 13:22:06 · 1008 阅读 · 0 评论 -
数据结构——【查找】——顺序查找
这篇文章将简单介绍三大查找中的顺序查找,顺序查找主要用于线性表中的查找,其中,线性表可有序可无序。顺序查找的缺点是,当n较大时,平均查找长度较大,效率低;优点是对数据元素的存储没有要求,顺序存储或链式存储皆可。对于无序表:查找成功的平均查找长度为(n+1)/2查找失败的平均查找长度为n+1对于有序表:查找成功的平均查找长度为(n+1)/2查找失败的平均查找长度为n/2+...原创 2019-11-12 12:54:40 · 1355 阅读 · 0 评论 -
数据结构——【二叉树】——“双亲表示法”的一些操作
大家好,说一些闲话,今天给大家分享一些二叉树双亲表示法的一些操作,代码是我可爱的学长分享给我的,感觉蛮好的,很有助于思维的锻炼,所以分享给大家。这个部分在刚开始接触的时候我连结构体是什么都没搞懂,为什么TM有两个结构体??后来写着写着慢慢了解了,奥,一个是树的结构体,一个是结点的结构体,哈哈...博主很菜,不许笑,哈哈哈好,正片现在开始!学长给的代码没多少注释,注释基本都是博...原创 2019-11-11 11:27:30 · 2750 阅读 · 0 评论 -
数据结构——【线性表】——单链表的基本操作
代码示例#include<malloc.h>#include<stdio.h>typedef struct LNode{ //链表结构体 int data; //数据域 struct LNode *next; //指针域}LNode,*LinkList; //别名//头插法建立链表bool Link_HeadInsert(LinkList &a...原创 2019-09-05 18:48:14 · 336 阅读 · 0 评论 -
数据结构——【线性表】——顺序表的基本操作
代码示例#include<stdio.h>#define MaxSize 50 //定义线性表最大长度typedef struct{ //定义线性表结构体 int data[MaxSize]; int length;}SqList; //初始化顺序表bool initList(SqList &L){ L.length = 3; L.data[0]=...原创 2019-09-02 15:40:10 · 271 阅读 · 0 评论