
数据结构
zxa1334
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
希尔排序
/*************************** 希尔排序 选一整型数组进行排序 *****************************/ //注:在希尔排序中,重点并不是分组,而是增量gap,即相隔gap个下标,组成一组 //希尔排序,也称递减增量排序算法,因DL.Shell于1959年提出而得名,是插入排序的一种高速而稳定的改进版本。 //算法描述: // 1、先取一个小于n的整数...原创 2018-07-24 09:43:28 · 182 阅读 · 0 评论 -
顺序表
//线性表之顺序表 //对顺序表的操作可以近似看成对有序数组的操作 #include <stdio.h> #define MIXSIZE 100 #define OK 0 #define ERROR -1 typedef int ElemType; //注: 此处不能用#define int ElemType; typedef int Status; typedef struct ...原创 2018-07-24 16:38:52 · 188 阅读 · 0 评论 -
时间复杂度详解
时间复杂度:进行算法分析时,程序语句的总执行次数T(n)随问题规模 n的变化情况的函数的数量级。 (1) 一般情况下,随着n的增大,T(n)增长最慢的算法称为最优算法 (2)比如,我们可以把求和算法的时间复杂度称为O(n),O(1),O(n*n),即线性阶,常数阶,平方阶 时间复杂度的这个概念主要是在数据结构中提到的,而时间复杂度的算法也叫作大O阶计算 下面便是大O阶的种类与推算方...原创 2018-07-19 10:08:31 · 471 阅读 · 0 评论 -
选择排序: 取一字符数组进行排序
/**************************** 选择排序: 取一字符数组进行排序 ****************************/ #include <stdio.h> #include <string.h> #define MAXSIZE 100 //输出数组 void Print(char *ch) { int i; for(i ...原创 2018-07-21 17:03:16 · 592 阅读 · 0 评论 -
直接插入排序
1、看到“插入”,应该会联想到“插队”,那么,何谓”插队”?即在一队已经按序排好的队伍中,突然混入一个不和谐的因素,从而造成 整支队伍的乱序,那么“直接插入排序”分为两部分,一是“插队”,二是“排序”,即将造成的乱象整理好 2、算法思路:(升序排列) (1)假设有一个数组int num[10] = {6,3,7,5,9}; (2)假定它从第一个元素即 :...原创 2018-07-23 08:52:17 · 292 阅读 · 0 评论 -
快速排序
1、快速排序的核心思想: 快速排序是由东尼·霍尔所发展的一种排序算法。其基本思想是基本思想是,通过一趟排序将待排记录分隔成两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 2、代码实现: #include <stdio.h> // 步骤为: // 1、从数列中挑出一个元素,称为 "基准"(pivot), ...原创 2018-07-30 17:09:53 · 2772 阅读 · 0 评论