最近在读《数据结构与算法分析(C语言描述)》,在优先队列(堆)一节中,作者总结了关于“选择问题——求第k个最大的元素”的几种思路,在此简单总结一下:第一种将这NN个数读进一个数组中,再通过某种简单的算法,比如冒泡排序、选择排序等,以递减顺序将数组进行排序,然后返回位置kk上的元素。假设使用最简单的排序算法,则运行时间为O(N2)O(N^2)第二种这是对第一种算法的简单优化。申请一个大小为kk的数组,...
分类:
其他好文 时间:
2015-04-06 17:16:51
阅读次数:
132
线性表:是一个顺序存储的数据集合,它支持在表中任何位置进行插入和删除操作
堆栈:可以看做是一种特殊的线性表,它只允许在线性表的一端(栈顶)进行插入和删除操作
队列:表示一个排队等候的队伍,它允许在队伍的后端进行插入操作,队伍的前端进行删除操作
二叉树:是一种能够有效的进行数据的查找,排序,插入和删除等操作的数据结构。
堆:是一种可用于开发有效排序和优先队列的算法的数据结构由于栈只允许在栈顶进...
分类:
其他好文 时间:
2015-04-06 15:44:35
阅读次数:
136
1.堆排序a.堆的定义n个元素序列{k1,k2,...,kn}当且仅当满足以下关系时,称之为堆。ki=k2i且ki>=k2i+1 (大根堆)以下针对最大堆b.维护堆的性质Max-Heapify通过让A[i]的值在最大堆中"逐级下降"(A[i]的值小于其左右孩子的值时),从而使得以i为根结点的子树重新...
分类:
编程语言 时间:
2015-04-06 15:34:34
阅读次数:
218
算法核心:两个结点之间的一条最短路径包含着(包含于)其它的最短路径.[最短路径性质]1.单源最短路径Dijkstra思路:计算每个结点到源结点的距离,压入最小优先队列Q,对Q中的元素进行如下循环操作:1.从队列Q中弹出最小元素u2.将u并入S3.对u的邻接表中每个结点v,调用Relax(u,v,w)...
分类:
其他好文 时间:
2015-04-05 21:48:03
阅读次数:
246
拓扑排序
拓扑排序
一:使用DFS实现二:使用入度概念以及队列处理1.使用一般队列2.使用优先队列(这里定义越大的整数拥有越大的优先级)
一:使用DFS实现
#include bits/stdc++.h>using namespace std;#define maxn 10000 + 10int c[maxn],topo[ma...
分类:
编程语言 时间:
2015-04-05 17:33:41
阅读次数:
132
自我感觉代码写的比较乱,这方面要好好注意一下。总结:1.在使用vector::size_type 类似的类型时,千万要注意循环的条件判断,很容易发生溢出的危险!所以我最后很懒的选择使用int - -。2.下标表示和元素个数表示之间的细微差别。下标之间的变换关系:父节点 parent(i)=(i-1)...
分类:
编程语言 时间:
2015-04-05 17:16:34
阅读次数:
151
题目:有n个人,他们某些人每天固定的时刻会进行会面,从第一个人传递谣言,问所有人都知道最少需要多久。
分析:图论,最短路。之际利用bfs求解最短路即可。
本题可以使用优先队列优化,这里数据较小,就没有用;
每次更新最短路时注意,如果会面时间比现在的大则在同一天,否则在下一天(+100)。
说明:新的开始╮(╯▽╰)╭。
#include
...
分类:
其他好文 时间:
2015-04-05 14:37:31
阅读次数:
127
最高的奖励时间限制:1000ms | 内存限制:65535KB难度:3描述请问:挖掘机技术哪家强?AC了告诉你!给你N(N#include #include #include #include using namespace std;const int N = 50005;bool vis[N];s...
分类:
其他好文 时间:
2015-04-05 10:25:05
阅读次数:
142
SG Value
Time Limit: 5 Sec Memory Limit:
256 MB
Submit: 163 Solved: 45
[Submit][Status][Web
Board]
Description
The SG value of a set (multiset) is the minimum positive integer that could no...
分类:
其他好文 时间:
2015-04-05 09:09:01
阅读次数:
119
1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 //定义比较结构 8 struct cmp1 9 { 10 bool operator ()(int &a,int &b) 11...
分类:
其他好文 时间:
2015-04-04 19:41:00
阅读次数:
170