算法
我是李健
这个作者很懒,什么都没留下…
展开
-
初学算法:排序----桶排序
一.引言 我们在平时需要进行一些排序的工作,那么用什么办法才能最快最好的排好序呢?有各种排序的方法,需要我们学习前人已经验证过的一些经典方法。 二.桶排序 这是一种最快最简单的排序方法,原理是:现有11个桶,编号从0-10。每出现一个数,就在对应的编号桶中放一个小旗子,最后只要数一数每个桶中有几个旗子就行了。 三.代码实例//桶排序#include<stdio....原创 2018-09-10 18:43:53 · 112 阅读 · 0 评论 -
复习C语言基本知识---数组1(数组逆序输出)
题目描述从键盘上输入10个整数,存储在一个长度为10的整型数组中,要求将输入的10个数逆序输出。如输入为:0,1,2,3,4,5,6,7,8,9 输出为9,8,7,6,5,4,3,2,1,0输入10个整数,以空格分隔输出将输入的10个整数逆序输出,每个数占一行。样例输入0 1 2 3 4 5 6 7 8 9样例输出9876543210#include <...原创 2019-03-29 00:26:44 · 1703 阅读 · 0 评论 -
复习C语言基本知识---数组1(数组的逆置)
题目描述将一个2行3列的矩阵(二维数组)行列互换,存储到另一个3行2列的矩阵中。要求以整型数据为例来解答。输入输入2行数据,每行3个整数,以空格分隔。输出行列互换后的矩阵,3行,每行2个数据,以空格分隔。样例输入1 2 34 5 6样例输出1 42 53 6#include <stdio.h>int main(){ int a[2][3]; int ...原创 2019-03-29 00:08:27 · 547 阅读 · 0 评论 -
复习C语言基本知识---数组1(杨辉三角形)
题目描述按要求输入如下格式的杨辉三角11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1最多输出10层输入输入只包含一个正整数n,表示将要输出的杨辉三角的层数。输出对应于该输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开样例输入5样例输出11 11 2 11 3 3 11 4 6 4 1#include <std...原创 2019-03-28 23:39:35 · 326 阅读 · 0 评论 -
习题6-13 字符串比较(数组)
题目描述比较两个字符串s1和s2的大小,如果s1>s2,则输出一个正数;若s1=s2,则输出0;若s1<s2,则输出一个负数。要求:不用strcpy函数;两个字符串用gets函数读入。例如:“A"与"C"相比,由于"A”<“C”,应输出负数,同时由于"A"与"C"的ASCII码差值为2,因此应输出"-2"。同理:"And"和"Aid"比较,根据第2个字符比较的结果,“n"...原创 2019-03-30 22:16:53 · 1273 阅读 · 1 评论 -
习题6-12 解密(数组)
题目描述有一行电文,已按如下规律译成密码:A–>Z a–>zB–>Y b–>yC–>X c–>x… …即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。输入输入一行密文输出解密后的原文,单独占一行。样例输入ZYX1...原创 2019-03-30 21:58:36 · 828 阅读 · 0 评论 -
复习C语言基本知识---数组1(字符串求最大值)
题目描述从键盘上输入3个字符串,求出其中最大者。输入输入3行,每行均为一个字符串。输出一行,输入三个字符串中最大者。样例输入EnglandChinaAmerica样例输出England#include<stdio.h>#include<string.h>int main(){ char str[3][20]; char string[20]...原创 2019-03-29 22:19:36 · 960 阅读 · 0 评论 -
复习C语言基本知识---循环结构3
题目描述输入一个正整数n,求Fibonacci数列的第n个数。Fibonacci数列的特点:第1,2个数为1,1。从第3个数开始,概述是前面两个数之和。即:要求输入的正整数n不超过50.输入一个不超过50的正整数输出Fibonacci数列的第n个数,末尾输出换行。样例输入20样例输出6765#include <stdio.h>#include <math....原创 2019-03-19 00:41:14 · 588 阅读 · 0 评论 -
复习C语言基本知识---循环结构2
例题5-7 求圆周率pi的近似值题目描述用如下公式求圆周率PI的近似值,直到发现某一项的绝对值小于10-6为止(该项不累加)。要求输出的结果总宽度占10位,其中小数部分为8位。程序中使用浮点型数据时,请定义为双精度double类型。如果需要计算绝对值,可以使用C语言数学库提供的函数fabs,如求x的绝对值,则为fabs(x).输入无输出PI=圆周率的近似值输出的结果总宽度占...原创 2019-03-18 23:59:41 · 274 阅读 · 0 评论 -
复习C语言基本知识---循环结构1
例题5-6 矩阵输出题目概述: 输出以下4*5的矩阵 1 2 3 4 5 2 4 6 8 10 3 6 9 12 15 4 8 12 16 20要求使用循环实现,注意每行输出5个数字,每个数字占3...原创 2019-03-18 23:32:08 · 228 阅读 · 0 评论 -
复习C语言基本知识---数组1
习题6-4 有序插入题目描述有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。假设数组长度为10,数组中前9个数(这9个数要求从键盘上输入,输入时要满足自小到大的输入顺序)已经按从小到大进行排序。然后再从键盘上输入一个整数,将此整数插入到前有序的9个数中,使得最终的10个数依然是从小到大有序的。输入第一行输入以空格分隔的9个整数数,要求按从小到大的顺序输入。第...原创 2019-03-20 23:29:17 · 262 阅读 · 0 评论 -
复习C语言基本知识---循环结构4
习题5-10 分数序列求和题目描述有如下分数序列求出次数列的前20项之和。请将结果的数据类型定义为double类型。输入无输出小数点后保留6位小数,末尾输出换行。样例输入无样例输出32.660261#include <stdio.h>#include <math.h>int main() {double sum=0,a=1,b=2,t;i...原创 2019-03-20 22:19:29 · 165 阅读 · 0 评论 -
PAT考试的考纲
考纲里要求掌握的算法为:哈希映射、并查集、最短路径、拓扑排序、关键路径、贪心、深度优先搜索、广度优先搜索、回溯剪枝等。1.哈希映射:一般会用map和unordered_map就好。此外,比如说题目固定了关键字为4个大写字母,那么可以把关键字看成26进制数,这样就能把字符串转换为int型数据处理,提高程序运行速度。当然基本概念也不能忘,解决哈希冲突的基础方法要理解,包括开放地址法(线性探测、平方探...转载 2019-07-11 10:40:43 · 2897 阅读 · 0 评论