![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
X_Trusher
闲暇时间谢谢博客,随手更新
展开
-
快速排序(C++)
数据结构–快速排序(C++) 快速排序是属于交换排序的一种方便的排序方法,使用较为快捷,其平均复杂度为O(nlogn)(以2为底) C++代码 #include <iostream> #include <bits/stdc++.h> #define MAXLEN 6 using namespace std; int Position(int a[],int low,int high){ int pos = a[low];原创 2020-10-05 22:30:11 · 67 阅读 · 0 评论 -
快速排序算法
快速排序 定义 快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 参考视频 快速排序算法 参考博客 快速排序算法 代码 ...原创 2020-02-09 12:57:56 · 89 阅读 · 0 评论 -
数据结构C语言版之插入排序(直接插入排序和折半插入排序)
就这两种插入排序的定义等等就忽略了,不懂自行百度。 直接插入排序正序时最好时间复杂度O(n),逆序最坏O(n2),平均O(n2),空间复杂度O(1);稳定;原始序列基本有序时该方法好 折半插入排序逆序最坏O(n2),正序时O(NLogN) , S(n)=O(1);稳定 主要提供代码。 直接插入排序的动态实现方法可以去B站上找找,有个动态演示的视频。 /* 直接插入排序和...原创 2018-11-26 22:38:00 · 742 阅读 · 0 评论 -
数据结构C语言版之堆排序(代码)
之前写了直接插入和折半插入的排序算法,这次的是堆排序算法,相比前两种,这种的时间复杂度更低一些,在一些题目里面,有可能你用其他的排序方法就会超时,而用堆排序就不会。 堆的定义什么的就略去了 代码: #include <stdio.h> #include <stdlib.h> #include <malloc.h> #define MAX_SIZE 100...原创 2018-12-17 17:18:12 · 711 阅读 · 0 评论 -
数据结构之队列(C语言)基础
队列(Queue): 是一种先进先出的线性表(FIFO),也分为两种,链队列和循环队列(好像还有其他的类型,忘了。。) 这里就介绍这两种的一些简单函数。 1、链队列 毋庸置疑,就是链式存储队列,有两个指针front和rear,其中front负责进队,rear负责出队 代码如下 /* 数据结构之链队列 实现函数: 初始化;入队;出队;判断是否队空,销毁;输出 *...原创 2018-12-19 21:30:39 · 409 阅读 · 0 评论 -
数据结构之二叉树基础(C语言)
树:(Tree) 性质: 子树是不相交的 除了根节点之外,每个节点有且仅有一个节结点 一颗N个结点的树有N-1条边 概念: 结点的度:结点的子树个数 树的度:树的所有结点中最大的度数 叶结点:度为0的结点 结点的层次:规定根节点在1层,其他任意节点的层数是其父节点的层数加1 树的深度:树中所有结点中最大层次是这棵树的深度 二叉树:(每个结点至多有2颗子树) 种类:完全二叉树,满二叉树 几个重要...原创 2018-12-20 23:52:11 · 3821 阅读 · 11 评论 -
数据结构之赫夫曼树(C语言)
赫夫曼树,又称最优二叉树,是一类带权值路径长度最短的树,有着广泛的应用。 代码: /* 数据结构之赫夫曼树及求最优带权路径长度(带权路径长度:WPL) 思路: 自底向上,优先合并权值小的结点。合并后,双亲结点权值设为两子结点之和,忽略被合并的结点, 如此重复至所有结点都归入一棵树 */ #include<stdio.h> #include<s...原创 2018-12-21 13:05:38 · 936 阅读 · 0 评论 -
数据结构之线性表(C语言)
线性表的两种存储方式 1,顺序存储 利用数组 /* 数据结构之线性表复习--顺序存储 构建了以下函数: 初始化,查找,插入,删除,合并,输出 */ #include <stdio.h> #include <stdlib.h> #include <malloc.h> #define LIST_INIT_SIZE 100 #defin...原创 2018-12-18 17:37:15 · 225 阅读 · 0 评论 -
数据结构之栈(C语言)基础
栈,写的比较基础的函数,太复杂的没写,而且栈的应用(括号匹配啥的)也没写。。 栈:(Stack) 后进先出的线性表(LIFO) 把允许插入和删除的一段称为栈顶,另一端称为栈底 /* 小问题: 最先进栈的元素是不是就是最后出栈的呢? 答案是不一定 */ /* 数据结构之栈 实现基础函数: 初始化,入栈,出栈,判断是否为空, 获得栈顶元素,...原创 2018-12-18 21:21:50 · 142 阅读 · 0 评论