DataStruct
文章平均质量分 67
Zhouᕕ(ᐛ)ᕗ变身!
哪里有智慧,哪里就有道路。
展开
-
排序算法——归并排序
一、排序的概念排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。本文所介绍的是内部排序。1、分冶法分冶法:通俗的解释为:把一片领土分解,分解为若干块小部分,然后一块块地占领征服,被分解的可以是不同的政治派别或是其他什么,然后让他们彼此异化。分冶法精髓:分—将问题分解为规模更小的子问题;治—将这些规模更小的子问题逐个击破;合—将已解决的子问题合并,最终得出“母”问原创 2021-01-28 13:53:12 · 360 阅读 · 0 评论 -
排序算法——交换排序
一、排序的概念排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。本文所介绍的是内部排序。二、插入排序1、概念思路:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。分类:冒泡排序、快速排序2、冒泡排序冒泡排序:冒泡排序是一种稳定排序算法, 其平均时间复杂度为O(n^2)。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,就如同碳原创 2021-01-28 00:50:44 · 221 阅读 · 0 评论 -
排序算法——选择排序
一、排序的概念排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。本文所介绍的是内部排序。二、插入排序1、概念思路:每一次在 n-i+1 (i=1, 2, 3, …, n-1)个记录中选取关键字最小的记录作为有序序列的第 i 个记录。分类:直接选择排序、堆排序2、直接选择排序直接选择排序:直接选择排序是非稳定的排序方法。在直接选择排序中,共需要进行n-1次选择和交原创 2021-01-27 23:59:22 · 242 阅读 · 0 评论 -
排序算法——插入排序
一、排序的概念排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序,若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。本文所介绍的是内部排序。二、插入排序1、概念思路:将一个带排序的数据,按照其规定的顺序插入到前面已经有序的数据数组中的合适位置,直到数据全部插入。问题:在此问题中主要是解决如何找到合适的位置插入。分类:直接插入排序、希尔排序2、直接插入排序直接插入排序:对于少量元素的排序,它是一个有效的算法 。它原创 2021-01-27 23:06:22 · 133 阅读 · 0 评论 -
汉诺塔递归与非递归实现
汉诺塔递归与非递归实现背景介绍汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。一、汉诺塔的递归实现:对于汉诺塔的递归实现,我们来这样理解:无论如何我们都需要将第n个盘子移动到C柱子上。我们什么时候能够取到第n个盘子,必须要把1~n-原创 2021-01-25 22:53:54 · 1739 阅读 · 0 评论