数据结构
文章平均质量分 96
Tyler_Zx
只有足够的努力,才能让一切看起来都毫不费力!
展开
-
通俗易懂的讲解堆排序(含Gif图)
堆的定义堆排序是一种树形结构选择排序方法,其特点是:在排序过程中,将序列视为一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的关系,在当前无序区间中选择关键字最大(或最小)的元素。堆的定义如下:n个关键字序列L[1,2,3...n]称为堆,当且仅当该序列满足:①L(i) <= L(2i) 且 L(i) <= L(2i+1) ②L(i) &...原创 2020-04-07 16:07:17 · 6200 阅读 · 0 评论 -
红黑树(RB-Tree)比AVL强在哪?
前言以前本科同学在找工作的时候,就被面试官问到过关于红黑树的问题。因为当时我的知识面不广,所以也不知道红黑树是个什么东西,也没放在心上。在看过了STL源码后才知道原来有很多底层实现都用的红黑树。简单的查阅了相关概念后,我觉得它和AVL没啥差别,而且AVL更好理解,平衡性也更优,那为什么还要使用红黑树?于是我开始查阅相关资料,百度红黑树的概念及性质,在网上看到了一些回复,感觉讲的很有道理。但...原创 2020-03-02 15:26:52 · 3537 阅读 · 1 评论 -
数据结构——排序算法(含动态图片)
前言插入排序直接插入排序折半插入排序希尔排序交换排序冒泡排序快速排序选择排序简单选择排序堆排序归并排序常用排序算法复杂度和稳定性总结前言排序是《数据结构》中最基本的学习内容。排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序。而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序...原创 2019-07-21 14:09:57 · 4789 阅读 · 0 评论 -
数据结构——线性表的链式表示
线性表的定义线性表是具有相同数据类型的n(n >= 0)个数据元素的有限序列。其中n为表长,当n = 0时,该线性表是一个空表。若用L命名线性表,其一般表示为:L = (a1, a2, ..., ai, ai+1, ..., an)。其中a1是唯一的”第一个”数据元素,an是唯一的”最后一个”数据元素。除第一个元素外,每个元素有且仅有一个直接前驱。除最后一个元素外,每个元素有且仅有一个直...原创 2019-07-17 20:11:03 · 3673 阅读 · 0 评论 -
数据结构——绪论以及线性表的顺序表示
绪论数据类型数据类型是一个值的集合和定义在此集合上一组操作的总称。(1)原子类型:其值不可再分的数据类型,如int,char,float。(2)结构类型:其值可以再分解为若干成分的数据类型。struct Student{ long no; char name[10]; float score;}; (3)抽象数据类型(ADT):是指一个数学...原创 2019-07-17 20:00:05 · 5559 阅读 · 0 评论 -
快速排序的4种优化
快排思想快排基准的选择 固定基准 随机基准 三数取中快速排序的优化优化1:序列长度达到一定大小时,使用插入排序优化2:尾递归优化优化3:聚集元素优化4:多线程处理快排快排思想快排算法是基于分治策略的排序算法,其基本思想是,对于输入的数组a[low, high],按以下三个步骤进行排序。(1)分解:以a[...原创 2018-09-15 22:14:28 · 49564 阅读 · 24 评论