数据结构
Casionx
爱家人 爱自己 爱生活 爱coding
展开
-
时间与空间复杂度
【时间复杂度】 其实只是一个度量,不是真正的运行时间的投影,真的的运行时间必须上机运行测试才能知道。也就是说只是给了你一个尺子去量一下这个算法的耗时,不是这个算法实现以后真的会耗时多少,也不是两个不同的算法的耗时比例真的可以这么比。时间复杂度的定义是以一个算法基本操作(一般就是循环体)重复执行的次数来作为度量单位。先找出算法的基本操作,然后根据相应的各语句确定它的执行次数。 一般情况下,算法的基原创 2017-01-12 17:31:05 · 827 阅读 · 0 评论 -
九度OJ 1153 括号匹配问题
题目1153:括号匹配问题时间限制:1 秒内存限制:32 兆题目描述: 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注原创 2017-02-27 09:37:27 · 1126 阅读 · 0 评论 -
并查集详解与应用
【导引问题】 题目描述: 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇。省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可)。问最少还需要建设多少条道路?输入: 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M;随后的...转载 2017-03-11 14:19:53 · 821 阅读 · 0 评论 -
原表达式转换为后缀表达式
为什么要转换原表达式即中缀表达式是人最习以为常、是我们最容易接受的形式。如: A+B∗(C−D)−E/FA+B∗(C−D)−E/FA+B*(C-D)-E/F我们很容易就能理解表达式的数学含义,但是要把表达式丢给计算机去处理,它并不能像人一样有逻辑的去判断先处理哪一步,后处理哪一步,它只会严格的按照从左只有执行,因此为了符合计算机运行方式,必须把原表达式转换为对应的后缀表达式才行。如何...原创 2017-08-10 20:42:31 · 39311 阅读 · 8 评论 -
大白话字符串匹配的KMP算法
【大白话之一理解篇】参考阮一峰的《字符串匹配的KMP算法》字符串匹配是计算机的基本任务之一。举例来说,有一个字符串”BBC ABCDAB ABCDABCDABDE”,我想知道,里面是否包含另一个字符串”ABCDABD”?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knut...原创 2017-08-11 23:36:18 · 932 阅读 · 1 评论