自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 排序算法之希尔排序

排序算法之希尔排序简介代码讲解性能分析简介之前介绍的几种排序算法,简单选择排序、直接插入排序,它们的时间复杂度都是O(n2)O(n^2)O(n2)。实际上在早期很长一段时间内,普遍认为排序算法的效率不会高于O(n2)O(n^2)O(n2),直到希尔排序算法的出现才打破了这一认知。希尔排序是第一批冲破二次时间界(O(n2)O(n^2)O(n2))的算法之一。它通过比较相距一定距离的元素来排序,各...

2020-04-30 16:07:07 1516

原创 排序算法之直接插入排序

排序算法之直接插入排序简介代码讲解性能分析简介直接插入排序是插入排序的一种。它思想是将一个新的数据插图到已经排好序的有序表中,然后得到一个新的有序表。因为思想和代码很简单,我们仍然直接通过代码进行讲解。代码讲解首先提供代码:struct SqList{ int r[MAXSIZE + 1]; //r0用作哨兵 int length;};void insertsort(SqLi...

2020-04-30 10:50:52 106

原创 排序算法之简单选择排序

排序算法之简单选择排序简介代码实现性能分析排序算法和查找算法一样是最常用最重要的算法之一,排序算法有交换排序、插入排序、选择排序和归并排序等,本专栏给大家介绍一些以上排序算法中的经典算法,今天先给大家介绍第一种——简单选择排序。本文完整代码见kfc/sort简介简单选择排序是选择排序的一种,选择排序原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从...

2020-04-28 11:31:44 526

原创 查找算法之散列表查找(哈希表)

查找算法之散列表查找(哈希表)简介哈希表查找步骤哈希函数构造方法处理冲突代码实现性能分析之前介绍的几种查找算法,无论是有序表查找还是平衡二叉树(二叉查找树),都需要进行元素间的比较或遍历,因此效率最高也只是O(logn),那有没有不需要进行元素间的比较或遍历直接就能查找到所需数据的算法呢?还真有!那就是通过关键字key进行查找的算法——散列表查找,我们通常称为哈希表。简介查找算法的效率在很大...

2020-04-25 18:17:03 499

原创 平衡二叉树之AVL树

平衡二叉树之AVL树简介之前有篇文章讲二叉排序树(动态查找二叉排序树),二叉排序树是用于动态查找的数据结构,但在文章结尾中也说明了普通的二叉排序树的查找效率是不确定的,这主要取决于二叉排序树是否平衡,为了充分发挥二叉排序树的查找效率我们通常使用平衡的二叉排序树——平衡二叉树,常用的平衡二叉树主要有两种——AVL树和红黑树。今天我们主要介绍AVL树。简介AVL树的平衡条件为:其每个节点的左子...

2020-04-24 13:11:11 342

原创 动态查找之二叉排序树

二叉排序树简介建立之前讲过二分、插值和斐波那契查找方式,这三种查找算法是针对有序线性表的,但有序表的插入和删除操作比较复杂,它需要移动插入和删除元素之后的所有元素。那有没有即可以高效的查找又可以高效的插入和删除呢?有,二叉排序树就可以实现。下面介绍一下二叉排序树。简介二叉排序树又称二叉查找树,它若不为空则具有如下性质:若左子树不为空,则左子树上所有节点的值均小于它根节点的值;若右子树不...

2020-04-22 21:32:35 1627

原创 静态查找之有序表查找——二分查找、插值查找、斐波那契查找

查找算法之二分查找(折半查找)概念原理概念原理二分查找又称折半查找,是有序查找算法的一种,即查找的序列必须是递增或递减的。它的原理类似于猜1至100中的任意数字,比如我们猜数字27,如果我们按顺序猜的话需要27次,如果随机猜的话,次数无法保证,可能很少也可能很多,我们按照这种方式猜,我们先猜中间数100/2=50,发现大了,我们再猜1至50的中间数50/2=25,发现小了,再猜25至50中间数...

2020-04-20 12:24:28 249

原创 数据结构之二叉树——概念原理及代码实现

数据结构之树——重点概念和原理树的简介二叉树树的简介之前已经写过几篇关于数据结构的文章,分别是链表、栈和队列。其中链表采用链式存储结构,栈和队列既可以使用链式存储也可以使用顺序存储(数组),而这些结构有一个共同的特性,看下图从逻辑上讲,无论是链式存储还是顺序存储,这些结构在非空得情况下,每个节点最多只有一个前驱和一个后继,也就是说它们一对一的。而今天所讲的树属于非线性结构,树在非空的情况下...

2020-04-04 16:46:09 397

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除