数据结构
Lawliet_ZMZ
ACMERandNODER
展开
-
时间复杂度O()
一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0时,时间复杂度就是O(2^n);a=0,bO(n^3);a,b=0,cO(n^2)依此类推eg:(1) for(i=1;i //循环了n*n次,当然是O(n^2) f转载 2016-06-03 20:24:18 · 2680 阅读 · 1 评论 -
L2-010. 排座位
L2-010. 排座位时间限制150 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,原创 2017-03-23 12:12:38 · 505 阅读 · 0 评论 -
UVa - 11997 - K Smallest Sums贪心多路归并
K Smallest SumsYou're given k arrays, each array has k integers. There are kk ways to pick exactly one element in each array and calculate the sum of the integers. Your task is to find the k smalles原创 2017-04-03 17:35:35 · 585 阅读 · 0 评论 -
POJ 2051 优先队列维护
ArgusTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 11381 Accepted: 5506DescriptionA data stream is a real-time, continuous, ordered sequence of item原创 2017-04-05 20:48:17 · 438 阅读 · 0 评论 -
Oulipo 哈希代替KMP再做字符串处理
OulipoTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 39845 Accepted: 16034DescriptionThe French author Georges Perec (1936–1982) once wrote a book, L原创 2017-04-18 22:34:39 · 1110 阅读 · 0 评论 -
POJ 3349 哈希一维搜索降二维
Snowflake Snow SnowflakesTime Limit: 4000MS Memory Limit: 65536KTotal Submissions: 41141 Accepted: 10817DescriptionYou may have heard that no two snowflakes are原创 2017-04-19 22:23:33 · 374 阅读 · 0 评论 -
ACM ArabellaCPC 2015F题 并查集
传送门:https://odzkskevi.qnssl.com/1110bec98ca57b5ce6aec79b210d2849?v=1492616502 题意:先给一个样例数,每个样例n,m分别表示字符串的长度和要给出的关系数给出的关系,两个位置上的字符(从1开始的下标)必须相等。最后这个字符串还是一个回文串 ,原创 2017-04-22 20:42:43 · 313 阅读 · 0 评论 -
数据结构期末考试再复习
我在上学期就考完了数据结构,这次是帮一个信计的女同学复习复习数据结构。重新看这些问题,除了图论的那些算法,有些东西还真的是忘记了,不过看了下书还好想起来了。1、10个元素的有序表,等概率条件下折半查找成功的平均查找长度是 29/10 。 画出判定树,其实就是二分转二叉树数量*层数累加即可。2. 设有序顺序表中的元素依原创 2017-06-04 19:52:07 · 1350 阅读 · 0 评论 -
leetcode32 Longest Valid Parentheses 最长有效括号序列
题目:Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring.For "(()", the longest valid parentheses substring is "()", w原创 2017-10-05 22:01:21 · 364 阅读 · 0 评论 -
剑指offer(四) 重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。这道题就比较经典了,经典递归。JS版:(我加了测试) function TreeNode(x) { this.val = x; this.原创 2017-12-25 15:23:01 · 164 阅读 · 0 评论 -
剑指offer(五,六),用两个栈实现队列,旋转数组的最小数字
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 一个栈就是把队列反过来,那再来一个栈push进第一个栈就“正”过来了。 第一个栈就是存下反过来的序列。 每次push进一个数,要先判断stack2“正”序列是否为空,不为空要还原“反序列”,还要stack1 push进所有的stack2。 每次pop一个数,把stack1全部push进来,就变成了原创 2017-12-31 01:45:51 · 236 阅读 · 0 评论 -
剑指offer(三) 从尾到头打印链表
题目描述输入一个链表,从尾到头打印链表每个节点的值。这个其实我才出题人是想考察递归的,但是做法可以直接另开个数组,遍历链表的时候push链表val值,最后reverse即可。但是递归方法更加优美啊,通过递归进入链表底部,从下往上push,其实就是用递归模拟了栈的思想,我一直认为栈就是用迭代来模拟递归的过程。那么递归可以做,栈肯定也就可以做这道题。为了巩固JS,以后刷题尽量使用JS吧。 注意牛客原创 2017-12-25 15:19:31 · 356 阅读 · 0 评论 -
剑指offer(十四,十五)链表中倒数第k个结点,反转链表
链表中倒数第k个结点 时间限制:1秒 空间限制:32768K 题目描述 输入一个链表,输出该链表中倒数第k个结点。现在链表题都是要跟“倒立”联系=-=,看到这个问题,自然想到以前用递归巧妙倒序打印链表。如果是打印倒数第k个节点的val值得话:var arr = new Array();var flag = 0;function FindKthToTail(head, k原创 2018-02-03 12:57:48 · 185 阅读 · 0 评论 -
L2-007 并查集处理&精度问题
L2-007. 家庭房产时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者陈越给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。输入格式:输入第一行原创 2017-03-20 23:01:01 · 975 阅读 · 0 评论 -
LPT算法--时间调度问题
待续=-=原创 2016-12-10 17:10:03 · 4537 阅读 · 0 评论 -
栈与队列
栈的存储结构分为顺序存储结构(用数组实现)和链表存储结构(用链表实现)相同点:从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同。不同点:栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表。 队列(Queue)是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。它们是完全不同的数据类型。除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的原创 2016-07-24 10:14:16 · 313 阅读 · 0 评论 -
POJ 1208 不定长数组vector
The Blocks ProblemTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 5404 Accepted: 2314DescriptionMany areas of Computer Science use simple, abstract domain原创 2016-07-26 21:09:39 · 631 阅读 · 0 评论 -
迭代器
1、迭代器是一种对象,它能够用来遍历STL容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上象迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。2、迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的指针接口一致。不原创 2016-07-26 21:49:35 · 232 阅读 · 0 评论 -
POJ 1209 模拟进栈和出栈
RailsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 31441 Accepted: 12222DescriptionThere is a famous railway station in PopPush City. Country there is incredibly原创 2016-07-27 16:10:19 · 465 阅读 · 0 评论 -
模拟链表
有一串已经从小到大排好序的数 2 3 5 8 9 10 18 26 32。现需要往这串数中插入 6 使其得到的新序列仍符合从小到大排列。链表中的每一个结点只有两个部分。我们可以用一个数组 data 来存储每序列中的每一个数。那每一个数右边的数是谁,这一点该怎么解决呢?上一节中是使用指针来解决的,这里我们只需再用一个数组right来存放序列中每一个数右边的数是谁就可以了,具体怎么做呢原创 2016-07-19 02:35:05 · 519 阅读 · 0 评论 -
超有爱的并查集
例子就是杭电上的畅通工程:http://acm.hdu.edu.cn/showproblem.php?pid=1232首先在地图上给你若干个城镇,这些城镇都可以看作点,然后告诉你哪些对城镇之间是有道路直接相连的。最后要解决的是整幅图的连通性问题。比如随意给你两个点,让你判断它们是否连通,或者问你整幅图一共有几个连通分支,也就是被分成了几个互相独立的块。像畅通工程这题,问还需要修几条路,转载 2016-08-05 16:23:52 · 560 阅读 · 0 评论 -
HDU 1166 线段树基础题 基本模型
敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 76917 Accepted Submission(s): 32406Problem DescriptionC国的死对头A国这段时间正在进行军事演习,原创 2016-08-09 11:00:08 · 723 阅读 · 0 评论 -
POJ 1988 并查集 妙用deep数组
Cube StackingTime Limit: 2000MS Memory Limit: 30000KTotal Submissions: 23635 Accepted: 8281Case Time Limit: 1000MSDescriptionFarmer John and Betsy are playing原创 2016-08-05 20:45:48 · 1134 阅读 · 0 评论 -
POJ 1611 记录节点数的并查集
The SuspectsTime Limit: 1000MS Memory Limit: 20000KTotal Submissions: 33882 Accepted: 16428DescriptionSevere acute respiratory syndrome (SARS), an atypical pneumonia of unkno原创 2016-08-11 18:13:13 · 549 阅读 · 0 评论 -
HDU 4424 并查集+贪心思想
Conquer a New RegionTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1939 Accepted Submission(s): 673Problem DescriptionThe whee原创 2016-08-12 10:40:37 · 458 阅读 · 2 评论 -
uva 122 小球下落 树的模拟
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=8&problem=620&mosmsg=Submission+received+with+ID+17752885超时:#include #include #include using n原创 2016-07-29 18:45:03 · 513 阅读 · 0 评论 -
对链表的操作(数据结构线性表算法设计练习)
/*1.有一个单链表(不同结点的数据域值可能相同),其头指针为head,编写一个函数计算数据域为x的结点个数*/#include #include using namespace std;struct node{ int data; struct node *next; };struct node *head; /*计算数据域为x的结点个数*/int List_cou原创 2016-10-05 18:06:45 · 1704 阅读 · 0 评论 -
剑指offer(十六) 合并两个排序的链表
合并两个排序的链表 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。用JavaScript非递归和递归方式都AC了。非递归:function ListNode(x){ this.val = x; this.next = null;}function Merge(pHead1, pHead2){ ...原创 2018-02-10 20:08:15 · 200 阅读 · 0 评论