随笔分类 -  c

摘要:谭浩强C语言程序设计 学习辅导练习 第七章 函数 T14 输入N个学生M门课成绩,分别用函数实现下列功能: 1、计算每个学生的平均分 2、计算每门课的平均分 3、找出分数中最高分数所对应的学生和课程 4、计算平均分方差 //输入N个学生M门课成绩,分别用函数实现下列功能: // 1、计算每个学生的平 阅读全文
posted @ 2016-10-12 22:58 米琪儿 阅读(1254) 评论(0) 推荐(0)
摘要:各种排序算法总结 空间复杂度: In-place sort(不占用额外内存或占用常数的内存):插入排序、选择排序、冒泡排序、堆排序、快速排序。 Out-place sort:归并排序、计数排序、基数排序、桶排序。 稳定性: stable sort:插入排序、冒泡排序、归并排序、计数排序、基数排序、桶 阅读全文
posted @ 2016-10-05 21:32 米琪儿 阅读(196) 评论(0) 推荐(0)
摘要:堆排序 数据结构 数组 最差时间复杂度 O(n*log n) 最优时间复杂度 O(n*log n) 平均时间复杂度 O(n*log n) 最差空间复杂度 О(n) total, O(1) auxiliary 1、堆的基础知识 堆节点的访问 通常堆是通过一维数组来实现的。在数组起始位置为0的情形中: 阅读全文
posted @ 2016-10-05 00:39 米琪儿 阅读(587) 评论(0) 推荐(0)
摘要:归并排序 1、算法思想 归并排序包括两个步骤,分别为: 第一,分解:分解待排序的n个元素的序列成各具n/2个元素的子序列; 第二,合并:合并两个已排序的子序列——这是核心部分! 递归版原理如下(假设序列共有n个元素): 2、伪代码 我是栗子,栗子,栗子 1 2 38 5 7 6 4 10 Merge 阅读全文
posted @ 2016-10-04 21:15 米琪儿 阅读(3107) 评论(0) 推荐(0)
摘要:直接选择排序 1、算法思想 2、伪代码 3、实现 阅读全文
posted @ 2016-10-04 17:59 米琪儿 阅读(397) 评论(0) 推荐(0)
摘要:希尔排序 1、算法思想 我是栗子,栗子,栗子 假设有这样一组数[ 13 14 94 33 82 25 59 94 65 23 45 27 73 25 39 10 ],如果我们以步长为5开始进行排序,我们可以通过将这列表放在有5列的表中来更好地描述算法,这样他们就应该看起来是这样: 然后我们对每列进行 阅读全文
posted @ 2016-10-04 17:25 米琪儿 阅读(320) 评论(0) 推荐(0)
摘要:插入排序 工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 https://zh.w 阅读全文
posted @ 2016-10-04 15:46 米琪儿 阅读(510) 评论(0) 推荐(0)
摘要:快速排序 https://zh.wikipedia.org/wiki/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F 1、算法思想 递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会结束,因为在每次的迭代(iteratio 阅读全文
posted @ 2016-10-04 12:09 米琪儿 阅读(1058) 评论(0) 推荐(0)
摘要:冒泡排序 https://zh.wikipedia.org/wiki/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F#-.7Bzh-hant:.E8.99.9B.E6.93.AC.E7.A2.BC.3Bzh-hans:.E4.BC.AA.E4.BB.A3.E7.A0.81. 阅读全文
posted @ 2016-10-03 23:13 米琪儿 阅读(11393) 评论(0) 推荐(0)
摘要:字符串的反序存放: 阅读全文
posted @ 2016-09-30 21:13 米琪儿 阅读(896) 评论(0) 推荐(0)
摘要:矩阵转置:即矩阵的行列元素互换。 阅读全文
posted @ 2016-09-30 20:54 米琪儿 阅读(479) 评论(0) 推荐(0)
摘要:初等数论,一个整数不能整除他的平方数之内的整数就是素数。 程序如下: 阅读全文
posted @ 2016-09-30 20:20 米琪儿 阅读(209) 评论(0) 推荐(0)
摘要:辗转相除法求最大公约数的算法: 第一步:if bnum > snum,将bnum和snum的值呼唤,使得大的数bnum为被除数; 第二步:while(bnum/snum的余数rest!=0){ bnum=snum; snum=rest; } 最后,输出最大公约数rest;最小公倍数l=bnum*sn 阅读全文
posted @ 2016-09-30 17:46 米琪儿 阅读(252) 评论(0) 推荐(0)
摘要:gets()和scanf()联系:都可以用于输入字符串; 1、scanf() 语法:scanf("格式控制字符串",变量地址列表); 接受字符串时:scanf("%s",字符数组名或指针); 2、gets() 语法:gets(字符数组名或指针); 区别:scanf遇到空格、回车和Tab键都会认为输入 阅读全文
posted @ 2016-09-30 17:05 米琪儿 阅读(284) 评论(0) 推荐(1)
摘要:1、基础篇 将A->Z,B->Y,C->X……;a->z,b->y,c->x……;即第1个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。 程序如下: 阅读全文
posted @ 2016-09-30 16:34 米琪儿 阅读(208) 评论(0) 推荐(0)
摘要:程序如下: 阅读全文
posted @ 2016-09-30 14:48 米琪儿 阅读(170) 评论(0) 推荐(0)
摘要:鞍点:该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。 阅读全文
posted @ 2016-09-30 11:34 米琪儿 阅读(1163) 评论(0) 推荐(0)
摘要:魔方阵:每一行、每一列和对角线之和均相等。 程序如下: 阅读全文
posted @ 2016-09-30 10:49 米琪儿 阅读(1572) 评论(0) 推荐(0)
摘要:通过控制输出的格式,实现1、左下杨辉三角(普通型)2、左上三角,3、金字塔形杨辉三角的输出。 阅读全文
posted @ 2016-09-28 17:32 米琪儿 阅读(214) 评论(0) 推荐(0)