- 博客(15)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【专题七】排序算法
一、选择排序(1) 基本思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在待排序的数列的最前,直到全部待排序的数据元素排完。(2)排序过程:【示例】:初 始 关键字 [49 38 65 97 76 13 27 49]第一趟排序后 13[38 65 97 76 49 27 49]第二趟排序后 13 27[65 97 76 49 38 49]第三趟排序后 13 27 ...
2019-08-22 12:04:31
168
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【专练六】高精度运算典例
高精运算典型题一、回文数【问题描述】若一个数(首位不为零)从左向右读与从右向左读都是一样,我们就将其称之为回文数。例如:给定一个 10进制数 56,将 56加 65(即把56从右向左读),得到 121是一个回文数。又如,对于10进制数87,STEPl: 87+78= 165STEP2: 165+561= 726STEP3:726+627=1353STEP4:1353+3531=488...
2019-08-22 11:07:20
163
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【专题六】高精度算法
【专题六】高精度运算一、高精度运算常见问题1.接收与存储2.高精度数位数确定3.进位借位的处理4.商和余数的求法二、高精度加法一、高精度运算常见问题1.接收与存储数据的接收和存储:当输入的数很长时,可采用字符串方式输入,这样可输入数字很长的数,利用字符串函数和操作运算,将每一位数取出,存入数组中。另一种方法是直接用循环加数组方法输入数据。 void init(int a[]) ...
2019-08-22 09:48:14
135
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【专题四】栈(中)——栈的链式存储(链栈)
一、栈的链式存储(链栈)利用练市存储结构实现的栈称为链栈typedef struct Lnode{ ElemType data; stuct LNode *next;}*SLink;//链栈结构的定义typedef stuct { SLink top;//栈顶指针 int length;//栈中元素个数...
2019-07-16 21:11:52
165
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【专题三】栈(上)——顺序栈的操作
栈的基本知识一、栈的定义栈(Stack)是限定只能在表的一端插入和删除操作的线性表。1.栈顶:在表中允许插入和删除的一端称“栈顶(top)”;2.栈底:不允许插入和删除的另一端称“栈底(bottom)”;二、什么是栈栈又称为后进后出的线性表(Last In First Out),简称LIFO表。三、栈抽象数据类型的定义ADT Stack{数据对象:D=顺序栈(栈的顺序存储)一...
2019-07-14 21:36:02
270
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 【专题一】链表初步(一)
链表初步(一):顺序表与单链表定义一、顺序表(传递地址)二、顺序表(传递引用)三、单链表定义一、顺序表(传递地址) #include <iostream> #include <cstdio> #include <cstdlib> using namespace std; //顺序表存储结构const int MAXSIZE = 80; //预设的...
2019-07-13 20:52:13
181
原创 关键路径
关键路径利用AOV网络,对其进行拓扑排序能对工程中活动的先后顺序作出安排。但一个活动的完成总需要一定的时间,为了能估算出某个活动的开始时间,找出那些影响工程完成时间的最主要的活动,我们可以利用带权的有向网,图中的边表示活动,边上的权表示完成该活动所需要的时间,一条边的两个顶点分别表示活动的开始事件和结束事件,这种用边表示活动的网络,称为“AOE网”。 其中,有两个特殊的顶点(事件),分别称为...
2019-08-23 19:17:21
163
原创 水题 题解
水题(water.cpp)【问题描述】XYN出了道水题。这个水题是这样的:有两副牌,每副牌都有n张。对于第一副牌的每张牌长和宽分别是xi和yi。对于第二副牌的每张牌长和宽分别是aj和bj。第一副牌的第i张牌能覆盖第二副牌的第j张牌当且仅当xi>=aj并且yi>=bj。(注意牌不能翻转)当然一张牌只能去覆盖最多一张牌,而不能覆盖好多张。XYN想让两副牌的各n张一一对应叠起来。它...
2019-08-23 18:40:17
304
原创 找数 题解
找数(number.cpp)【问题描述】给定一个长度为N(0<n<=10000)的序列,保证每一个序列中的数字a[i]是小于long long int的非负整数 ,编程要求求出整个序列中第k大的数字减去第k小的数字的值m,并判断m是否为质数。(0<k<=n)。【输入格式】第一行为2个数n,k(含义如上题);第二行为n个数,表示这个序列。【输出格式】如果m为质数...
2019-08-23 18:39:28
586
原创 煎饼堆 题解
煎饼堆(flapjacks.cpp)【问题描述】在架子上烤一堆完美的煎饼是一件技巧性很高的工作,因为无论你有多努力,烤出的饼的直径都会各不相同。为了整洁,你可以将所有的饼按大小排序,使得每个饼下面所有饼的直径都比它大。为这堆饼排序是通过一系列的“翻转(flip)”操作来实现的。有一把铲子可以用来插在两张饼之间,并将铲子之上的所有饼翻转过来。每次翻转操作用最下面一张被翻转的饼在整堆饼的位置来描...
2019-08-23 18:38:33
207
原创 家族 题解
家族(family.cpp)【问题描述】著名的大盗Vito Deadstone将到纽约去。在那里,他有一个庞大的家族,所有人都住在Lamafia大道。因为会经常拜访这些亲戚,他希望找一间离他们很近的房子。事实上,Vito希望让他的房子离所有亲戚的距离之和尽量小。他命令你写一个程序来解决这一问题。【输入格式】输入包含若干个测试点。第一行为测试点的数量。对于每组数据,你将会得到整数r(0&...
2019-08-23 18:37:11
152
原创 过桥 题解
过桥(bridge.cpp)【问题描述】 有n个人希望在晚上通过一座桥。在任何时刻,最多只能有两个人在桥上,而且必须要带着电筒才能过桥。一共只有一个手电筒,所以必须安排某种顺序,使得手电筒可以被带回去让更多的人过桥(手电筒必须由人带回,不可以从对岸扔过去)。 每个人都有不同的过桥时间,两个人一起过桥所花的时间等于其中较慢的一个。你的任务是要找出能在最短时间内使所有人都过桥的方案。【输入格式】 ...
2019-08-23 18:35:56
695
原创 斐波拉契数列之和 题解
#include<iostream>#include<cstdio>#include<cstring>void add_f(int a[],int b[],int c[]);void add_s(int s[],int c[]);using namespace std;int main(){ int i,n; int a[1000],b[1...
2019-08-23 18:34:08
119
原创 Doubly linked listed题解
Your task is to implement a double linked list.Write a program which performs the following operations:insert x: insert an element with key x into the front of the list.delete x: delete the first e...
2019-08-23 18:33:01
112
原创 【专题八】分治算法
分治算法快排快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的中间数)作为关键数...
2019-08-22 20:49:10
215
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人