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