数据结构与算法
vivian187
这个作者很懒,什么都没留下…
展开
-
冒泡排序算法
【介绍】 每次遍历时,它会从前往后依次比较两个相邻的数,如果前者大,则交换他们的位置。一次遍历后,最大的数在最后,再次遍历,第二大的元素在倒数第二个位置,重复操作,直到循环结束。【实现】#include <stdio.h>#include <stdlib.h>void bubbleSort(int *array, int size) //从小到大{ ...原创 2019-06-25 14:51:10 · 115 阅读 · 0 评论 -
快速排序算法
快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序流程:(1) 从数列中挑出一个基准值。(2) 将所有比基准值小的摆放在基准前面,所有比基准值大的摆在...原创 2019-07-11 17:41:54 · 139 阅读 · 0 评论 -
直接插入排序
1. 介绍 很多初学者所说的插入排序,实际上指的就是直接插入排序算法,插入排序算法还包括折半插入排序、2-路插入排序,表插入排序和希尔排序等 直接插入排序(Straight Insertion Sort)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当...原创 2019-07-12 15:39:03 · 280 阅读 · 0 评论 -
线性表
具有“一对一”逻辑关系的数据,最佳的存储方式就是使用线性表。线性表概述: 全名为线性存储结构。可以理解为“把所有数据用一根线串起来。再存储到物理空间中”。一组1对1逻辑关系的数据如下: 1 2 3 4 5首先,用“一根线儿”把它们按照顺序“串”起来,如下图1 所示:上图中,左侧是“串”起来的数据,右侧是空闲的物理空间。把这“一串儿”数据放置到物理空间,我们可以选择以下两...转载 2019-08-02 10:51:37 · 149 阅读 · 0 评论