【c语言数据结构与算法】
玛丽奥ZJY
这个作者很懒,什么都没留下…
展开
-
c语言冒泡排序(BubbleSort)
冒泡排序的原理是,每执行一次循环,就会把最大的数放到右边,例子中arr[]={2,1,6,3,8,4,9,5,7,0};总共十个数,第一次选择最大的数需要比较9次,第二次在未排序的数中选择最大的数则就需要8次了,因为已经有一个数已经排好序了不需要再比较了,以此类推,比较7次,6次,,,,,也就是说有两个循环,一个外循环一个内循环,外循环每增加1次(每选出一个最大的数),则内循环比较次数就减少1次所...原创 2018-05-26 13:38:10 · 2924 阅读 · 1 评论 -
归并排序(C语言实现)
归并排序:归并操作,也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。归并操作的过程如下: (1) 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 (2) 设定两个指针,最初位置分别为两个已经排序序列的起始位置 (3) 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置 (4) 重复步骤...转载 2018-05-31 21:20:52 · 17484 阅读 · 0 评论 -
二叉树的基本操作(C语言实现)
#include<stdio.h> #include<stdlib.h> //二叉树的节点定义 typedef struct TreeNode { char ch; //数据域 struct TreeNode *lchild; //左孩子 struct TreeNode *rchild; //右孩子...转载 2018-06-12 09:25:12 · 2246 阅读 · 1 评论 -
C语言数据结构--哈希表
#include <stdio.h>#include <stdlib.h>typedef struct //元素类型定义{ int key;//关键字 int hi; //冲突次数}DataType;typedef struct //哈希表的类型{ DataType *data; int tableSize; //哈希表的长度 int curSi...转载 2018-06-14 17:19:39 · 735 阅读 · 0 评论 -
排序算法c语言描述---基数排序
排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析。文章规划:一。通过自己对排序算法本身的理解,对每个方法写个小测试程序。 具体思路分析不展开描述。二。通过《大话数据结构》一书的截图,详细分析该算法 。 在此,推荐下程杰老师的《大话数据结构》一书,当然不是打广告,只是以一名读者的身份来客观的看待这本书,确实是通俗易懂,值得一看。ps:一个...转载 2018-06-06 13:28:27 · 535 阅读 · 0 评论 -
数据结构之---C语言实现快速排序(多个版本)
快速排序基本上有如下版本一、国内教材双向扫描版二、单向扫描版本三、随机化版本四、三数取中分割法五、非递归版这里给我前两个版本(较为常用)版本一:双向扫描版本:如图:代码如下:[cpp] view plain copy//快速排序(版本一) //带枢轴 //杨鑫 #include <stdio.h> #include <stdlib.h> #define MAXN ...转载 2018-05-29 22:39:38 · 5307 阅读 · 1 评论 -
递归的折半查找算法
题目:有一个数组A[10],里面存放了10个整数,顺序递归。A[10]={2,3,5,7,8,10,12,15,19,21} ,任意输入一个用数字n,用折半查找法找到n位于数组中的位置。如果n不属于数组A,显示错误提示。要求用递归的方法实现折半查找。代码:[cpp] view plain copy#include <stdio.h> int bin_search(int key[],...转载 2018-05-26 15:56:26 · 18507 阅读 · 0 评论 -
c折半查找binsearch
首先, 一:你要查找的表是有规定的有序表 有序表:表中数据元素按关键码升序或降序排列的表称为有序表。 二:折半查找的思路是: (1)在有序表中取中间元素作为比较对象, (2)若给定值与中间元素的关键码相等,则查找成功; (3)若给定值小于中间元素的关键码,则在中间元素的左半区继续查找; 同理,如果找不到在右半部查找。 (4)不断重复上述的查找过程,直到查找成功,或所查找的区域无数据元素,查找失败。...转载 2018-05-26 15:33:21 · 1709 阅读 · 0 评论 -
C顺序查找SequentialSearch
顺序查找与折半查找(二分查找) 没有排序的数据:只能顺序查找 已经排序的数据:二分查找即可 顺序查找:速度慢 例如:100万个数据,平均要找50万次!#include <stdio.h>void SequentialSearch(int *a, int n, int x);int my_print(int *a, int n){ int i = 0; for (i = 0;i <...原创 2018-05-26 15:13:05 · 329 阅读 · 0 评论 -
c/c++选择排序(SelectionSort)
选择排序原理是,先选取第一个数与其他所有数比较,把比较后的最小的数与第一个数交换,这样每执行一次循环就会将最小的数排到最左边,并且下一次循环比较时就会从第二个数再进行比较,也就是少比较一次,同冒泡排序的循环体一样,也分为外循环和内循环,外循环每排出一个最小的数,内循环就会减少一次循环,循环体:[csharp] view plain copyfor(i=0;i<n-1;i++)//外循环 ...转载 2018-05-26 14:02:10 · 451 阅读 · 0 评论 -
数据结构专栏
算法系列15天速成 算法洗脑系列(8篇)算法与数据结构数据结构(嵌入式)数据结构经典算法研究 ………………转载 2018-08-30 16:41:52 · 531 阅读 · 0 评论