
数据结构
文章平均质量分 67
数据结构习题
飞天小女侠~
编程中最没用的东西是源代码,最有用的东西是算法和数据结构。
柴静在《看见》里说,每个轻松的笑容的背后,都是一个咬紧牙关的灵魂。
每个出类拔萃的人,都为他现在所站的位置付出了很多很多。
展开
-
递推之三国佚事——巴蜀之危
三国佚事——巴蜀之危e Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description话说天下大势,分久必合,合久必分。。。却道那魏蜀吴三国鼎力之时,多少英雄豪杰以热血谱写那千古之绝唱。古人诚不我欺,确是应了那句“一将功成万骨枯”。 是夜,明月高悬。诸葛丞相轻摇羽扇,一脸愁苦。原来是日前蜀国战事吃紧,原创 2017-07-28 23:08:48 · 409 阅读 · 1 评论 -
递推之生兔子,生小牛问题
递推的题目都是从最小的情况开始考虑,然后找出规律:先分析n = 1.2.。。几种情况;再分析第n种次可能出现的情况,分析每一种情况找到f(n)与f(n-2),f(n-1)。。。等的关系养兔子Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description原创 2017-07-28 23:04:08 · 668 阅读 · 4 评论 -
计算组合数
Problem Description计算组合数。C(n,m),表示从n个数中选择m个的组合数。计算公式如下:若:m=0,C(n,m)=1否则, 若 n=1,C(n,m)=1 否则,若m=n,C(n,m)=1 否则 C(n,m) = C(n-1,m-1) + C(n-1,m). Inpu原创 2017-07-28 22:38:10 · 1517 阅读 · 0 评论 -
链表基础知识整理
关于链表最重要的是搞清楚指针的指向,next域存放的是下一个结点的地址。1:顺序建链表要定义头指针,游动指针,尾部指针; 逆序建立链表定义头指针和游动指针即可,每次将新的结点插在头指针后面。搞清楚指针的指向即可。2:删除结点。定义一个游动指针,还要定义一个指针,为了记后一个结点的地址。顺序建表:#include #include struct node{ int data原创 2017-07-27 12:41:08 · 1033 阅读 · 7 评论 -
递归之二分查找
M--二分查找Time Limit: 600MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description给出含有n个数的升序序列,保证序列中的数两两不相等,这n个数编号从1 到n。然后给出q次询问,每次询问给出一个数x,若x存在于此序列中,则输出其编号,否则输出-1。Input原创 2017-08-23 17:13:41 · 220 阅读 · 0 评论 -
王小二切饼
王小二切饼Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description王小二自夸刀工不错,有人放一张大的煎饼在砧板上,问他:“饼不许离开砧板,切n(1Input输入切的刀数n。Output输出为切n刀最多切的饼的块数。Example In原创 2017-07-28 22:53:25 · 578 阅读 · 0 评论 -
汉诺塔
汉诺塔Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一原创 2017-07-28 22:51:30 · 598 阅读 · 0 评论 -
递归之二分查找
M--二分查找Time Limit: 600MS Memory Limit: 65536KBSubmit StatisticProblem Description给出含有n个数的升序序列,保证序列中的数两两不相等,这n个数编号从1 到n。然后给出q次询问,每次询问给出一个数x,若x存在于此序列中,则输出其编号,否则输出-1。Input单组输入原创 2017-07-28 22:49:17 · 625 阅读 · 0 评论 -
递归之快速排序
数据结构实验之排序八:快速排序Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description给定N(N≤10^5)个整数,要求用快速排序对数据进行升序排列,注意不得使用STL。 Input 连续输入多组数据,每组输入数据第一行给出正整数N(≤10^5),随原创 2017-07-28 22:46:41 · 219 阅读 · 0 评论 -
最长公共子序列问题2080
集训的时候老师讲的时候就不是很懂,几天没做,更是忘得一干二净了,从网上找了一份大神的笔记,顿时清晰了好多。点击打开链接动态规划法(看大神的笔记对动态规划也有了新的认识)经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题原创 2017-08-24 15:12:06 · 409 阅读 · 0 评论 -
递归的函数
递归的函数Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description给定一个函数 f(a, b, c):如果 a ≤ 0 或 b ≤ 0 或 c ≤ 0 返回值为 1;如果 a > 20 或 b > 20 或 c > 20 返回值为 f(20, 20, 20);如原创 2017-08-24 10:41:51 · 198 阅读 · 0 评论 -
贪心、动态规划之删数问题2072
删数问题Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description 键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s,寻找一种方案,使得剩下的数字组成的新数最小。Input原创 2017-08-23 20:53:14 · 1005 阅读 · 0 评论 -
数据结构之排序之希尔排序
希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的: 1:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。 2:但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位。原创 2017-08-21 10:49:57 · 313 阅读 · 0 评论 -
数据结构之排序之堆排序。寻找大富翁
数据结构实验之排序四:寻找大富翁Time Limit: 200MS Memory Limit: 512KBSubmit StatisticProblem Description2015胡润全球财富榜调查显示,个人资产在1000万以上的高净值人群达到200万人,假设给出N个人的个人资产值,请你快速找出排前M位的大富翁。Input首先输入两个正整数N原创 2017-08-19 08:37:30 · 351 阅读 · 0 评论 -
数据结构之排序,归并求逆序数
数据结构实验之排序五:归并求逆序数Time Limit: 50MS Memory Limit: 65536KBSubmit StatisticProblem Description对于数列a1,a2,a3…中的任意两个数ai,aj (i aj,那么我们就说这两个数构成了一个逆序对;在一个数列中逆序对的总数称之为逆序数,如数列 1 6 3 7 2 4 9中,(6,4原创 2017-08-18 20:41:43 · 481 阅读 · 0 评论 -
排队买饭
链式存储的队列问题:数据结构实验之队列一:排队买饭Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description中午买饭的人特多,食堂真是太拥挤了,买个饭费劲,理工大的小孩还是很聪明的,直接奔政通超市,哈哈,确实,政通超市里面也卖饭,有好几种菜,做的比食堂好吃多了原创 2017-08-07 20:12:28 · 405 阅读 · 0 评论 -
双向队列
说是双向队列的题,用队列还一直没解决,于是用了数组,这里提供两个代码,一个是我的,一个是巨巨的,对比寻找不足。双向队列Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description 想想双向链表……双向队列的定义差不多,也就是说一个队列的队尾同时也是队首;两头都可以做出队,入队的操作。现在给你一系原创 2017-08-07 19:29:56 · 479 阅读 · 0 评论 -
数据结构之树的统计
数据结构实验之查找三:树的种类统计Time Limit: 400MS Memory Limit: 65536KBSubmit StatisticProblem Description随着卫星成像技术的应用,自然资源研究机构可以识别每一个棵树的种类。请编写程序帮助研究人员统计每种树的数量,计算每种树占总数的百分比。Input输入一组测试数据。数据的原创 2017-08-14 20:23:17 · 590 阅读 · 0 评论 -
数据结构之二叉树之平衡二叉树
建立平衡二叉树:建利平衡二叉树的关键的是要搞清楚关键步骤,首先判断平衡因子,如果等于2或者-2,就要开始旋转了,旋转主要有四种类型,左左旋,左右旋,右右旋,右左旋。这里就不一一解释了,网上好多介绍如何旋转的。ps:对于我来说的难点。函数里面调用函数,始终有点晕,搞不清楚原理。从网上看了好多代码,最后终于搞清了原理,也最终写出了平衡二叉树。直接上代码:#include #inclu原创 2017-08-14 10:26:55 · 375 阅读 · 0 评论 -
二叉排序树的中序遍历
排序二叉树的中序遍历Problem Description在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的关键值 (3).任意一个节点的右子树(如果存在的话)的关键值大于该节点的关键值。现给定一组数据,请你对这组数据按给定顺序建立一棵排序二叉树,并输出其中原创 2017-08-10 08:41:53 · 9428 阅读 · 0 评论 -
元素互换移位算法
顺序表应用3:元素位置互换之移位算法Time Limit: 1000MS Memory Limit: 570KBSubmit Statistic DiscussProblem Description一个长度为len(1数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程原创 2017-08-07 16:07:50 · 471 阅读 · 0 评论 -
元素互换之逆置算法
顺序表应用4:元素位置互换之逆置算法Time Limit: 10MS Memory Limit: 570KBSubmit Statistic DiscussProblem Description一个长度为len(1数据元素的类型为整型,将该表分成两半,前一半有m个元素,后一半有len-m个元素(1注意:先将顺序表元素调整为符合要求的内容后,再做输出,输出过程只能原创 2017-08-07 16:05:35 · 606 阅读 · 0 评论 -
顺序表应用5:有序顺序表归并
法一:一个一个比较,整理这个题的目的在于,归并时,若空间不够,则重新开辟空间,学会使用realloc函数,法二:全部放到一起,然后重新排序。顺序表应用5:有序顺序表归并Time Limit: 100MS Memory Limit: 880KBSubmit Statistic DiscussProblem Description已知顺序表A与B是两个有序的原创 2017-08-04 00:06:21 · 345 阅读 · 0 评论 -
数据结构实验之栈三:后缀式求值
若已经给出了后缀式,求值,其规则为,建立一个栈,从左到右计算。若为数值,入栈,若为运算符,让栈顶两个数值运算,且运算顺序为从左到右,并把新的元素重新入栈。此题用数组也可解决,数据结构实验之栈三:后缀式求值Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description对于一原创 2017-08-03 23:53:28 · 220 阅读 · 0 评论 -
数据结构实验之栈二:一般算术表达式转换成后缀式
最重要的是搞清楚元素符的高低1:比较元素高于栈顶元素直接入栈;2:若比较元素低于栈顶元素,则栈中元素出栈,进入数组(或栈,但输出的话得从栈底输出)直到遇到低于比较元素的,此时比较元素入栈;3:若比较元素为左括号,直接入栈;4:若比较元素为右括号,则栈顶元素一直出栈,进入数组(或栈),直到遇到左括号,与右括号相抵消;5:其他数据均入数组(或栈);最后顺序输出小知识点一结:原创 2017-08-03 23:31:09 · 244 阅读 · 0 评论 -
数据结构之栈之括号匹配问题
数据结构实验之栈四:括号匹配Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description 给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。Input 输入数据有多组,处理到文件结束。原创 2017-08-02 23:39:22 · 1387 阅读 · 0 评论 -
数据结构栈之进制转换
数据结构实验之栈一:进制转换Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description输入一个十进制非负整数,将其转换成对应的 R (2 Input第一行输入需要转换的十进制非负整数;第二行输入 R。Output输出转换所得的 R原创 2017-08-02 22:55:14 · 1024 阅读 · 0 评论 -
行编辑器
数据结构实验之栈:行编辑器Time Limit: 1000MS Memory Limit: 65536KBSubmit StatisticProblem Description 一个简单的行编辑程序的功能是:接受用户从终端输入的程序或数据,并存入用户的数据区。 由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接受一个字符即存入用户数原创 2017-08-02 22:49:14 · 962 阅读 · 0 评论