觉得还是先从简单例子程序着手,先了解各个算法的基本思想。 目录: 算法是指对特定问题求解步骤 的一种描述 算法的评价标准:时间复杂度与空间复杂度。 时间复杂度:考虑给定的数据数目n,关于算法的执行次数。渐进上界用O()表示,最坏情况对衡量算法的好坏具有实际的意义。 空间复杂度:算法占用的空间大小。一 ...
分类:
编程语言 时间:
2017-08-26 15:59:53
阅读次数:
1754
Dropping water balloons UVA - 10934 题意: 可以说是很懵比了。。。 和上一个题有相似之处,就是我们需要判断的结果是一个未知量。如本题气球的硬度,可能为1,2,3, ,n,n+1。 最坏情况需要测到n楼才知道结果。题目要求确定气球硬度,我们要考虑所有情况。【即我们要 ...
分类:
其他好文 时间:
2017-08-24 12:30:54
阅读次数:
242
8.1 排序算法的下界 定理8.1 在最坏情况下,任何比较排序算法都需要做Ω(nlgn)次比较。 推论8.2 堆排序和归并排序都是渐进最优的比较排序算法。 8.2 计数排序 计数排序假设n个输入元素中的每一个都是在0到k区间内的一个整数,其中k为某个整数。当k=O(n)时,排序的运行时间为θ(n)。 ...
分类:
编程语言 时间:
2017-08-16 17:05:12
阅读次数:
128
【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=1354 【题目大意】 给出一些车的班次,包括起点,终点,到达起点时间区间, 到达终点时间区间,想要T时刻到达n号点,问最坏情况下的最短等待时间 【题解】 最坏情况就是每次从b时刻才出发,c ...
分类:
其他好文 时间:
2017-08-06 14:09:26
阅读次数:
111
描述 小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。 这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能对于每一个我给出的字符串,都在这个词典里面找到以这个字符串开头的所有单词呢?” 身 ...
分类:
其他好文 时间:
2017-08-05 10:54:08
阅读次数:
151
在很多有关数据结构和算法的书籍或文章中,作者往往是介绍完了什么是树后就直入主题的谈什么是二叉树balabala的。但我今天决定不按这个套路来。我个人觉得,一个东西或者说一种技术存在总该有一定的道理,不是能解决某个问题,就是能改善解决某个问题的效率。如果能够先了解到存在的问题以及已存在的解决办法的不足 ...
分类:
编程语言 时间:
2017-08-04 22:50:14
阅读次数:
252
红黑树,顾名思义,就是把平衡二叉搜索树的节点赋予两种颜色,通过定义几条规则,达到约束的目的。红黑树可以保证,每次插入删除操作后的重平衡,全树拓扑结构的改变仅需要常数个节点,最坏情况下需要对logn个节点重染色,但是就分摊意义仍然为O(1)。 需要满足的条件: (1)树根始终为黑色 (2)外部节点均为 ...
分类:
其他好文 时间:
2017-08-03 18:08:36
阅读次数:
156
高速排序在最坏情况下的时间复杂度为O(n^2),尽管在最坏情况下执行时间比較差,可是高速排序一般是用于排序的最佳选择。由于其平均性能相当好,期望的执行时间为O(nlgn),且在O(nlgn)的记号中隐含的常数因子非常小。 高速排序和合并排序有相似之处,都是须要划分序列,在合并排序中。划分的过程非常e ...
分类:
编程语言 时间:
2017-07-29 18:13:53
阅读次数:
168
题意:n个数 初始为0,三个操作:给某个数加上d,查询区间和,把区间[l,r]中每个a[i]变为离a[i]最近的斐波那契数,n,m<=1e5. 无操作1情况下,每个点最多变化一次,每次修改logn,算上操作1 最坏情况下修改n+m次 O((n+m)logn). 对区间设个标记 线段树暴力即可. 不能 ...
分类:
其他好文 时间:
2017-07-23 18:18:50
阅读次数:
157
1 /* 2 入门之快速排序 3 时间复杂度:O(nlogn) 4 最坏情况时时间复杂度能达到O(n^2) 5 借鉴自算法导论 6 */ 7 #include 8 using namespace std; 9 int a[] = {3,7,8,5,4,6,2,1,3}; 10 void quick_... ...
分类:
编程语言 时间:
2017-07-23 11:26:53
阅读次数:
211