数据结构
遗忘丶流年
大家一起学习,互帮互助,共同进步
展开
-
关于快速排序的一些见解(递归和非递归以及优化)
最近看到一些笔试题,很多都考到了快速排序,故今天来此谈谈个人对快速排序的一些看法(理解可能有理解不恰到的地方,希望高人能多多指点)快速排序,顾名思义,那就是一个字 快,但其实有的时候并不是我们所想的这样,当我们排序的数目很小时,快速排序可能还不如插入排序来得简单利落。废话不多说,先来说说快速排序的核心思想首先,它是利用找基准数来进行排序,最原始的快速排序是从最左边第一个数开始,放在了一原创 2017-10-21 22:42:25 · 937 阅读 · 1 评论 -
冒泡和选择排序的理解
今天,我们来说说算法里最简单的两个排序,那就是选择排序和冒泡排序,但是在这两个排序中多少还是会出现一些问题,先说说我的个人经验吧,在最开始学习C语言的时候,最先接触到的就是这两种算法,当时对C语言本来懵逼着,再别说什么算法,什么冒泡。没办法,我也就就只能记住代码的是实现,随着时间一天天的流逝,问题也就越来越明显,来说说冒泡选择的思想,为什么要这么做?以及到后来程序记混了,选择和冒泡记差了,除此之外原创 2017-10-23 00:58:37 · 645 阅读 · 0 评论 -
大小堆之堆排序
之前已经说过了好些排序了,今天就说一下最后一个排序,那就是堆排序,但是我们这个堆和内存中的堆还不是一个堆,我们现在所说的大小堆其实是一个树。接下来详细的说一说先要说堆,那我们还是先说说一些最基础关于树的一些概念,就先说说二叉树好了,因为我们今天用到的就是二叉树,首先二叉树也是一种数据结构,它有父节点和子节点,在二叉树中有2个叶子节点,父节点和第一个子节点的关系一般是2倍的关系;然而堆排序就原创 2017-10-25 14:38:52 · 547 阅读 · 0 评论