数据结构和算法
dummne
Linux C 程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
排序算法之——冒泡排序
按照约定的排序顺序,两两比较相邻的数据,如果反序则交换,直到没有反序记录为止void bubblesort(int arr[], int n){ int i, j, temp = 0; for(i = 0; i < n; i++) { for(j = 0; j < n - i -1; j++) { if(a[j] > a[j + 1]) //两两比较相邻数据,反序则原创 2016-07-08 10:28:06 · 406 阅读 · 0 评论 -
排序算法——归并排序
算法描述归并排序使用递归分治的思想,先递归划分子问题,然后合并结果。假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到n/2个长度为2或1的有序列表:再两两归并,…….,重复,直到得到一个长度为n的有序序列 具体步骤如下:将所要进行排序的序列分为左右两部分,将要排序的序列起始元素下标left, 最后一个元素下标为right算法分析空间复杂度:O(n原创 2016-07-12 12:38:20 · 315 阅读 · 0 评论 -
排序算法——插入排序
算法描述:每次从数据中选出一个数据插入到已经排好序的有序表中,从而得到一个新的,记录数增加1的有序表比较次数:最好时,比较n-1次,最坏时,比较(n+2)*(n-1)/ 2次;交换次数:最好时,无需交换;最坏时,交换(n+2)*(n-1)/ 2次;C语言实现/*按升序排列*/void insertsort(int arr[], int n){ int i, j, te原创 2016-07-08 10:59:36 · 991 阅读 · 0 评论 -
排序算法之—简单排序
按照约定的排序顺序(从大到小或从小到大),两两比较所有数据,如果反序则交换位置,直到比完所有数据。#include /*简单排序*/void simplesort(int arr[], int n){ int i, j, temp = 0; for(i = 0; i < n; i++) { for(j = i + 1; j < n; j++) { if(a[i]原创 2016-07-08 10:07:16 · 250 阅读 · 0 评论 -
排序算法——选择排序
每次从数据中选出一个最大值或最小值放在序列的起始位置,直到全部待排序的数据元素排序完 比较次数:比较(n-1)* n / 2次交换次数:最好时,无需交换;最坏时,交换n-1次; C语言实现 void selectsort(int arr[], int n){ int i, j, min; for(i = 0; i < n; i++) ...原创 2016-07-08 10:39:58 · 256 阅读 · 0 评论 -
数据结构基础概念
数据结构基础知识原创 2017-05-05 12:55:32 · 1125 阅读 · 0 评论
分享