各种数据结构与算法知识入门经典(不断更新)

自荐者和推荐者请留言

基本算法

贪心算法:贪心算法 作者:独酌逸醉

贪心算法精讲 作者:3522021224

递归和分治:递归与分治策略 作者:zhoudaxia

图论

图的遍历(DFS和BFS):  图的遍历 作者:jefferent

最小生成树(Prim算法和Kruskal算法): 贪心算法--最小生成树 作者:独酌逸醉

Dijkstra算法: 最短路径之Dijkstra算法详细讲解 作者:愚人有节

拓扑排序:拓扑排序作者:

midgard

如何去理解
拓扑排序算法
 作者:张善友

关键路径:关键路径 作者:navorse

欧拉路:欧拉路问题 作者:MaiK

差分约束:差分约束系统 作者:fuliang

二分图最大匹配:二分图匹配总结 作者:北极天南星                           二分图匹配算法总结 作者:z7m8v6

网络流:网络流基础 作者:chhaj523

数据结构

链表:基本数据结构:链表(list) 作者:C小加

栈: 基本数据结构:栈(stack) 作者:C小加

队列:基本数据结构:队列(queue) 作者:C小加

树:基本数据结构:树(tree) 作者:C小加

二叉树:基本数据结构:二叉树(binary
tree)
作者:C小加

二叉查找树:一步一步写二叉查找树  作者:C小加

并查集:并查集--学习详解 作者:yx_th000

哈希表:哈希表 作者:猎人杰

二分查找:查找(二):二分查找 作者:xiaosuo

哈夫曼树:哈夫曼树 作者:angle

平衡二叉树: 平衡二叉树(解惑) 作者:Never

树状数组:树状数组总结 作者:熊猫yingcai

线段树: 线段树总结 作者:星星

归并排序求逆序数:利用归并排序求逆序数 
作者:kahn

动态规划(DP)

简单动态规划:动态规划 作者:brokencode

背包问题:《背包九讲》

数学

遗传算法: 遗传算法入门 作者:heaad

容斥原理:容斥原理(翻译) 作者:vici

母函数:母函数入门小结 作者:zhangxiang0125

秦九韶算法:秦九韶算法 作者:simonezhlx

高斯消元法:

欧几里得定理(GCD):

扩展欧几里得定理:

中国剩余定理:

概率问题:

计算几何

几何公式:

离散化: 什么是离散化? 作者:matrix67

扫描线算法:

叉积和点积:

凸包:

时间: 2024-10-08 06:49:45

各种数据结构与算法知识入门经典(不断更新)的相关文章

算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发.   一.UVaOJ http://uva.onlinejudge.org  西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ.   二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html   "AO

(Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO

下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年到1年半年时间完成.打牢基础,厚积薄发. 一.UVaOJ http://uva.onlinejudge.org 西班牙Valladolid大学的程序在线评测系统,是历史最悠久.最著名的OJ. 二.<算法竞赛入门经典> 刘汝佳  (UVaOJ  351道题)  以下部分内容摘自:http://sdkdacm.5d6d.com/thread-6-1-1.html “AOAPC I”是刘汝佳(大

《算法竞赛入门经典(第二版)》pdf

下载地址:网盘下载 内容简介  · · · · · · <算法竞赛入门经典(第2版)>是一本算法竞赛的入门与提高教材,把C/C++语言.算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧.全书内容分为12 章,包括程序设计入门.循环结构程序设计.数组和字符串.函数和递归.C++与STL入门.数据结构基础.暴力求解法.高效算法设计.动态规划初步.数学概念与方法.图论模型与算法.高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题.书中的代码规范.简洁.易懂,不

算法竞赛入门经典 程序4-1 组合数

算法竞赛入门经典 程序4-1 组合数 其中求一个数的阶乘多次出现,为了方便以及保证程序整洁,将其作为一个函数编写 #include<iostream> using namespace std; long long factorial(int n) { long long m=1; for(int i=1;i<=n;i++) { m*=i; } return m; } long long c(int n,int m) { return factorial(n)/(factorial(m)*

《算法竞赛入门经典第二版》 P35 习题2-4 子序列的和(subsequence)

/* <算法竞赛入门经典第二版> P35 习题2-4: 输入两个正整数 n < m < 10^6,输出 (1/n)^2 + 1/(n+1)^2 +……+ 1/m^2,保留5位小数. 输入包含多组数据,结束标志为 m=n=0. 有错欢迎指出^_^ */ #include<stdio.h> int main() { int m,n,i,j=1; while(scanf("%d%d",&m,&n) != EOF) { double sum

算法竞赛入门经典_4.3_递归

看代码 #include <stdio.h> int f(int n){ return n == 0?1:f(n-1)*n; } int main() { printf("%d\n", f(5)); return 0; } 上面f函数使用了递归,递归由两部分组成,一是递归头,二是递归体. 我们使用gcc调试工具 H:\编程书籍学习\算法竞赛入门经典2代码\算法入门经典第四章>b f 'b' 不是内部或外部命令,也不是可运行的程序 或批处理文件. H:\编程书籍学习\算

《算法竞赛入门经典》动态规划复习

codevs 4979 数塔 1 #define N 100 2 #include<iostream> 3 using namespace std; 4 #include<cstdio> 5 int a[N][N],b[N][N],n; 6 int main() 7 { 8 scanf("%d",&n); 9 for(int i=1;i<=n;++i) 10 for(int j=1;j<=i;++j) 11 { 12 scanf("

算法竞赛入门经典训练指南

最近在看算法竞赛入门经典训练指南这本书,书中不错的算法我将在博客中发布,和大家共同学习. 题目: 在你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头).村里有m个骑士可以雇佣,一个能力值为m的骑士可以砍掉一个直径不超过x的头,且需要支付x个金币.如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次). 输入格式: 输入包含多组数据.每组数据的第一行为正整数m和n(1<=m,n<=20 000):以下m行每行为一个整数,即恶龙每

算法竞赛入门经典-训练指南(10881-Piotr&#39;s Ants)

题目大意: 一根长度为L的木棍一堆蚂蚁爬,向左或向右,速度都为1,若两蚂蚁碰撞则同时转头(转身时间忽略不计),问T时间之后每只蚂蚁的位置: 输入:t,(t个样例),每个样例输入 L,T,n,接下来是n行每行两个数据,一个POS(位置),一个dir(方向): 输出:按输入顺序输出每只蚂蚁的最终位置,若处于碰撞状态则输出Turning,掉下去输出"Fell off": 解题思路: 本题类似于<挑战程序设计>的一道水题(POJ -1852  Ants),思路题:不过本题输入并不一