
数据结构与算法
是彬彬啊
华南师范大学软件工程在读硕士、业余长笛、酒吧控
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常用排序算法:选择排序
选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。基本思路 我们假设有一个含有6个元素的int型的一维数组变量,他们分别...原创 2019-09-10 14:15:43 · 208 阅读 · 0 评论 -
常用排序算法:冒泡排序
冒泡排序 冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。基本思路 我们假设有一个含有6个元素的int型的一维数组变量,他们分别是...原创 2019-09-11 10:34:25 · 189 阅读 · 0 评论 -
常用排序算法:快速排序
快速排序快速排序(Quicksort)是对冒泡排序的一种改进;它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。基本思路 首先先举一个直观的例子,假设有一串int型的待排序数组为:49,38,65,76,97,13,2...原创 2019-09-11 10:38:24 · 514 阅读 · 0 评论 -
常用排序算法:归并排序
归并排序归并排序(Merge Sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。基本思路 在计算机科学中,分治法是一种很重要的算法。字面上的解释是“分而治之”,就是把一个复...原创 2019-09-11 10:40:18 · 254 阅读 · 0 评论 -
二叉树遍历:先序、中序、后序、层次遍历
二叉树遍历 所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。先序、中序、后序 (深度优先搜索DFS) 遍历思想 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行...原创 2019-09-11 10:47:39 · 623 阅读 · 0 评论