数据结构
数据结构
小贾-同志
每一个不曾起舞的日子都是对生命的辜负
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【左神算法初级、进阶视频 || LeetCode题库解析视频等】
需要私原创 2019-11-20 10:58:43 · 4758 阅读 · 173 评论 -
【转】【复习:哈夫曼编码树】
文章目录引言哈夫曼二叉树构建初始队列第一步合并重新调整队列哈夫曼编码字符串编码补充原文链接---->详细图解哈夫曼Huffman编码树引言哈夫曼(Huffman)编码算法是基于二叉树构建编码压缩结构的,它是数据压缩中经典的一种算法。算法根据文本字符出现的频率,重新对字符进行编码。因为为了缩短编码的长度,我们自然希望频率越高的词,编码越短,这样最终才能最大化压缩存储文本数据的空间。 ...原创 2019-10-12 13:45:03 · 327 阅读 · 0 评论 -
【面试复习】| 常见排序算法手写
快速排序#include<iostream>using namespace std;int Func(int arr[], int start, int end){ int temp = arr[start]; while (start < end) { while (start < end&&arr[end] > temp) ...原创 2019-10-06 20:48:49 · 487 阅读 · 0 评论 -
【转】| 海量数据解决思路之Hash算法
原文地址—>海量数据解决思路之Hash算法总结 :解决此类问题,一般步骤:1、hash映射2、采用hash_map 等统计3、堆/归并排序原创 2019-10-02 16:02:38 · 179 阅读 · 0 评论 -
【排序算法】——— 堆排序总结
文章目录原创 2019-08-07 15:33:19 · 1034 阅读 · 0 评论 -
【排序算法】——— 希尔排序总结
文章目录原创 2019-08-06 16:30:13 · 1336 阅读 · 0 评论 -
【排序算法】——— 快速排序总结
文章目录【1】基本思想【2】快速排序法的普通版本【3】快速排序法的优化版本优化选取枢轴优化不必要的交换优化递归操作【1】基本思想快速排序算法的基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。可能从字面感觉不到他的好处,我们通过例子来...原创 2019-08-08 17:13:56 · 1257 阅读 · 0 评论 -
【排序算法】——— 简单选择排序总结
文章目录原创 2019-08-06 16:28:43 · 1208 阅读 · 0 评论 -
【排序算法】——— 直接插入排序总结
文章目录原创 2019-08-06 16:29:16 · 1447 阅读 · 0 评论 -
【排序算法】 ——— 归并排序总结
文章目录原创 2019-08-07 22:45:42 · 830 阅读 · 0 评论 -
【排序算法】——— 冒泡排序总结
文章目录原创 2019-08-06 16:28:21 · 1553 阅读 · 0 评论 -
【高级数据结构】 || AVL树详解(C++)
文章目录什么是AVL树为什么要引出AVL树AVL树的特点AVL树的旋转LLRRLRRLAVL树的结构AVL树的插入AVL树的删除什么是AVL树AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树为什么要引出AVL树AVL树又称平衡的BST树,它能保证二叉树高度相对平衡,尽量降...原创 2019-06-29 15:06:59 · 2196 阅读 · 1 评论 -
【二叉树的遍历】前中后序、层序遍历(递归与非递归版本)
文章目录【0】遍历法则层序遍历前序遍历中序遍历后序遍历【1】非递归前序遍历递归版本前序遍历【2】非递归中序遍历递归版本中序遍历【3】非递归后序遍历递归版本后序遍历【4】非递归层序遍历递归版本层序遍历【5】测试代码【0】遍历法则我们来简单了解一下二叉树的前中后序和层序的遍历法则层序遍历层序遍历是最简单的,顾名思义就是一层一层从左往右一个一个打印,不难理解。前序遍历例:输出结果:A...原创 2019-06-03 17:14:05 · 3481 阅读 · 0 评论 -
【BST二叉搜索树】常见笔试题
文章目录【1】树的镜像翻转【2】判断一棵二叉树是不是一棵BST树【3】寻找BST树指定区间的元素结果集【1】树的镜像翻转 //树的镜像翻转 void mirror() { cout << "镜像翻转:"; mirror(_root); //调用以根节点进行镜像翻转 } void mirror(BSTNode *node) { if (node == nullp...原创 2019-06-05 18:15:28 · 2144 阅读 · 0 评论 -
C++高级数据结构 | 二叉搜索树BST --- (Binary Search Tree)
文章目录什么是BSTBST的排序什么是BST若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉查找树。BST的排序对于已知的二叉查找树的从小到大排序就是他的中序遍历顺序即从根节点开始,若有左子树则递归输出左子树直到叶子结点,再输出自身,再递归输出右子树。如图所示:如图的中序遍历:...原创 2019-05-28 03:14:44 · 2672 阅读 · 0 评论 -
顺序表Seqlist的基本操作的实现
顺序表基本操作的代码如下:#include<stdio.h>#include<iostream>#include<string>#include<malloc.h>#define LIST_INIT_SIZE 10#define LIST_INC_SIZE 2typedef enum { OK = 1, ERROR = -1, POS...原创 2019-04-11 15:23:11 · 2248 阅读 · 0 评论
分享