github开源项目-算法实现之路

算法编程

目录(?)[-]

  1. 挑战算法之路

    1. Way to Algorithm
  2. 目录页

《挑战算法之路》的源代码可以从GitHub下载,网址链接:点击打开链接

也可以从GoogleCode下载,网址链接:点击打开链接

挑战算法之路

Way to Algorithm

西安交通大学计算机系 林荣彬

电子科技大学信软学院 NEWPLAN

目录页

第2版声明 .......................................................................................................................................

第2版序言 ........................................................................................................................................

阅读方法 .........................................................................................................................................

通用头文件 general_head.h .............................................................................................................

1.排序 Sort ....................................................................................................................................

(1)插入排序 insert_sort.cpp ...............................................................................................

(2)冒泡排序 bubble_sort.cpp ...........................................................................................

(3)快速排序 quick_sort.cpp ...............................................................................................

(4)二分查找法 binary_search.cpp ......................................................................................

(5)测试用例 test.cpp ..........................................................................................................

2.搜索 Search .........................................................................................................................

(0)搜索头文件 search.h .....................................................................................................

(1)暴力枚举 brute_force.cpp ..............................................................................................

(2)深度优先搜索 depth_first_search.cpp ............................................................................

(3)广度优先搜索 breadth_first_search.cpp ........................................................................

(4)双向广度搜索 bidirection_breadth_search.cpp .............................................................

(5)A*启发式搜索 a_heuristic_search.cpp ...........................................................................

(6)高级搜索算法介绍 advanced_search_algorithm_introduction.cpp .................................

(7)测试用例 test.cpp ..........................................................................................................

3.数据结构 Data Structure ................................................................................................................

(0)数据结构头文件 data_structure.h .................................................................................

(1)经典数据结构介绍 classic_data_structure_introduction.cpp ...........................................

(2)哈希表 hash_table.cpp ...................................................................................................

(3)线段树 segment_tree.cpp ...............................................................................................

(4)树状数组 binary_index_tree.cpp .....................................................................................

(5)并查集 disjoint_set.cpp ...................................................................................................

(6)左偏树 leftist_tree.cpp ....................................................................................................

(7)后缀树 suffix_tree.cpp ....................................................................................................

(8)测试用例 test.cpp ............................................................................................................

4.动态规划 Dynamic Programming ....................................................................................................

(1)动态规划介绍 dynamic_programming_introduction.cpp ...................................................

(2)动态规划优化 dynamic_programming_optimization.cpp ....................................................

4.1线性动态规划 Linear Dynamic ................................................................................................

(1)最长公共子序列
longest_common_subsequence.cpp
 ......................................................

(2)最长递增子序列
longest_increasing_subsequence.cpp
 ...................................................

(3)最长递增子序列扩展
longest_increasing_subsequence_extension.cpp
 ...........................

(4)双向子序列
bidirection_subsequence.cpp
 .......................................................................

(5)测试用例 test.cpp ............................................................................................................

4.2背包问题 Pack ......................................................................................................................

(0)背包头文件 pack.h ...........................................................................................................

(1)01背包
_01_pack.cpp
 ......................................................................................................

(2)01背包路径 _01_pack_path.cpp ......................................................................................

(3)完全背包 complete_pack.cpp ..........................................................................................

(4)多重背包 multiple_pack.cpp ............................................................................................

(5)二维背包 two_dimension_pack.cpp ..................................................................................

(6)分组背包 packet_pack.cpp ...............................................................................................

(7)泛化物品 generic_item.cpp ..............................................................................................

(8)依赖背包 dependent_pack.cpp .........................................................................................

(9)测试用例 test.cpp .............................................................................................................

4.3区域动态规划 Region Dynamic ...............................................................................................

(1)最小合并代价 minimum_merge_cost.cpp ..........................................................................

(2)最小合并扩展
minimum_merge_extension.cpp
 .................................................................

(3)最大二叉树合并
maximum_binary_tree_merge.cpp
 .........................................................

(4)测试用例 test.cpp ..............................................................................................................

4.4树形动态规划 Tree Dynamic ..................................................................................................

(0)树形动规头文件 tree_dynamic.h ......................................................................................

(1)二叉树动规 binary_tree.cpp ............................................................................................

(2)多叉树动规 multi_tree.cpp ..............................................................................................

(3)多叉树转二叉树动规 multi2binary.cpp .............................................................................

(4)多叉树动规路径 multi_tree_path.cpp ..............................................................................

(5)带环多叉树动规 loop_tree.cpp ........................................................................................

(6)遍历树 traverse_tree.cpp ...............................................................................................

(7)测试用例 test.cpp ...........................................................................................................

5.图论 Graph Theory ........................................................................................................................

(0)图论头文件 graph.h .........................................................................................................

5.1遍历 Traverse .......................................................................................................................

(1)遍历树 traverse_tree.cpp .................................................................................................

(2)深度优先搜索邻接表 depth_first_search_adjlist.cpp ........................................................

(3)广度优先搜索邻接表
breadth_first_search_adjlist.cpp
 .....................................................

(4)拓扑排序 topological_sort.cpp .........................................................................................

(5)欧拉回路 euler_loop.cpp ..................................................................................................

(6)汉密尔顿回路 hamilton_loop.cpp ......................................................................................

(7)Kosaraju算法 kosaraju.cpp ..............................................................................................

(8)2-SAT问题 _2_satisfiability.cpp .........................................................................................

(9)测试用例 test.cpp ..............................................................................................................

5.2Tarjan算法 Tarjan ...................................................................................................................

(1)强连通分支 strongest_connected_component.cpp ...........................................................

(2)Gabow算法 gabow.cpp .....................................................................................................

(3)割 cut.cpp .........................................................................................................................

(4)双连通分支 double_connected_component.cpp ...............................................................

(5)最近公共祖先 least_common_ancestors.cpp ...................................................................

(6)区间最值查询 range_most_query.cpp ...............................................................................

(7)测试用例 test.cpp ............................................................................................................

5.3最小生成树 Minimum Spanning Tree .....................................................................................

(1)Kruskal算法 kruskal.cpp ....................................................................................................

(2)Prim算法 prim.cpp .............................................................................................................

(3)次小生成树
second_minimum_spanning_tree.cpp
 .............................................................

(4)度限制生成树
degree_bounded_spanning_tree.cpp
 .........................................................

(5)最优比率生成树
optimal_ratio_spanning_tree.cpp
 ............................................................

(6)测试用例 test.cpp ...............................................................................................................

5.4最短路径 Shortest Path ...........................................................................................................

(1)松弛操作 relaxation.cpp .....................................................................................................

(2)Bellman-Ford算法 bellman_ford.cpp .................................................................................

(3)最短路径更快算法 spfa.cpp ...............................................................................................

(4)Dijkstra算法 dijkstra.cpp ....................................................................................................

(5)Floyd算法 floyd.cpp ..........................................................................................................

(6)差分约束 difference_constraints.cpp .................................................................................

(7)测试用例 test.cpp ..............................................................................................................

5.5流网络 Flow Network ...............................................................................................................

(1)Edmonds-Karp算法 edmonds_karp.cpp ............................................................................

(2)一般性压入与重标记 generic_push_relabel.cpp ................................................................

(3)Dinic算法 dinic.cpp .............................................................................................................

(4)距离标号算法 distance_label.cpp .......................................................................................

(5)重标记与前移算法 relabel_to_front.cpp .............................................................................

(6)最高标号预留与推进算法
highest_label_preflow_push.cpp
 ..............................................

(7)距离标号算法邻接表优化 distance_label_list.cpp ..............................................................

(8)最大流算法小结
summary_of_maxflow_algorithm.cpp
 ......................................................

(9)最小费用最大流 minimum_cost_max_flow.cpp .................................................................

(10)多源点多汇点最大流
multi_source_sink_max_flow.cpp
 .....................................................

(11)连通度 connectiviry.cpp ....................................................................................................

(12)无源汇容量有上下界的流网络
no_source_sink_bounded_flow.cpp
 ...................................

(13)有源汇容量有上下界的最大流 bounded_max_flow.cpp .....................................................

(14)有源汇容量有上下界的最小流 bounded_min_flow.cpp .....................................................

(15)测试用例 test.cpp .............................................................................................................

(16)附录1 POJ_1087_A_Plug_for_UNIX1.cpp ......................................................................

(17)附录2 POJ_1087_A_Plug_for_UNIX2.cpp ......................................................................

5.6二分匹配 Binary Match ........................................................................................................

(1)匈牙利算法 hungarian.cpp ..............................................................................................

(2)Hopcroft-Karp算法 hopcroft_karp.cpp ............................................................................

(3)二分匹配转最大流 match2maxflow.cpp ............................................................................

(4)Kuhn-Munkres算法 kuhn_munkres.cpp ..........................................................................

(5)支配集,独立集,覆盖集与团介绍 domination_independent_covering_clique_introduction.cpp...

(6)最小点权覆盖和最大点权独立集
weighted_covering_independent_set.cpp
 .............................

(7)最小不相交路径覆盖
minimum_disjoint_path_covering.cpp
 ................................................

(8)最小可相交路径覆盖
minimum_joint_path_covering.cpp
 ....................................................

(9)染色问题 coloring.cpp ...................................................................................................

(10)测试用例 test.cpp .............................................................................................................

6.线性代数 Linear Algebra ...................................................................................................................

(0)矩阵头文件 matrix.h .........................................................................................................

6.1矩阵 Matrix ..............................................................................................................................

(1)Strassen算法 strassen.cpp ................................................................................................

(2)高斯消元法 gauss_elimination.cpp .....................................................................................

(3)LUP分解 lup.cpp ................................................................................................................

(4)逆矩阵 inverse_matrix.cpp .................................................................................................

(5)测试用例 test.cpp ..............................................................................................................

6.2线性规划 Linear Programming .............................................................................................

(1)单纯形算法 simplex.cpp ..................................................................................................

(2)Dinkelback算法 dinkelback.cpp ......................................................................................

(3)测试用例 test.cpp ..............................................................................................................

7.数学 Math .........................................................................................................................................

7.1计算 Calculate .......................................................................................................................

(1)大数字 large.hpp ..............................................................................................................

(2)十进制转换 decimal_conversion.cpp ................................................................................

(3)求幂运算 exponentiation.cpp ............................................................................................

(4)测试用例 test.cpp .............................................................................................................

7.2组合数学 Combinatorial Mathematics ....................................................................................

(1)组合数学介绍
combinatorial_mathematics_introduction.cpp
 ............................................

(2)全排列 full_permutation.cpp .............................................................................................

(3)组合 combination.cpp .......................................................................................................

(4)置换群 permutation_group.cpp ........................................................................................

(5)生成函数generate_func.cpp........................................................................................

(6)测试用例 test.cpp ............................................................................................................

(7)Makefile
Makefile
...........................................................................................................

7.3数论 Number Theory .............................................................................................................

(1)筛选法 sieve.cpp ..............................................................................................................

(2)Euclid算法 euclid.cpp ........................................................................................................

(3)Euclid扩展 euclid_extension.cpp .......................................................................................

(4)模线性方程 modular_linear_equation.cpp ........................................................................

(5)中国剩余定理 chinese_remainer_theorem.cpp ...............................................................

(6)模幂运算 modular_exponentiation.cpp ............................................................................

(7)测试用例 test.cpp ...........................................................................................................

8.解析几何 Analytic Geometry ...........................................................................................................

(0)几何头文件 geometry.h ...................................................................................................

8.1向量 Vector ..........................................................................................................................

(1)叉积 cross.cpp .......................................................................................................

(2)线段相交 segments_intersection.cpp ..............................................................................

(3)扫除算法 sweeping.cpp ......................................................................................................

(4)测试用例 test.cpp ............................................................................................................

8.2多边形 Polygon ..................................................................................................................

(1)多边形面积 polygon_area.cpp .........................................................................................

(2)多边形重心 polygon_gravity_center.cpp ..........................................................................

(3)射线判别法 ray.cpp ..........................................................................................................

(4)旋转卡壳 rotating_calipers.cpp ........................................................................................

(5)测试用例 test.cpp ............................................................................................................

8.3凸包 Convex Hull ................................................................................................................

(1)最近点对 nearest_neighbor.cpp .....................................................................................

(2)Graham扫描算法 graham_scan.cpp ..............................................................................

(3)快速凸包算法 quick_convex_hull.cpp .................................................................................

(4)测试用例 test.cpp ..........................................................................................................

9.字符串匹配 String ..........................................................................................................................

(1)原始字符串匹配 naive_string_match.cpp ........................................................................

(2)KMP算法 knuth_morris_pratt.cpp ...................................................................................

(3)字典树 trie_tree.hpp .......................................................................................................

(4)AC自动机 aho_corasick_automation.hpp .......................................................................

(5)测试用例 test.cpp ............................................................................................................

10.博弈论 Game Theory .....................................................................................................................

(1)巴什博弈 bash_game.cpp ..............................................................................................

(2)威佐夫博弈 wythoff_game.cpp .......................................................................................

(3)尼姆博弈 nim_game.cpp ...............................................................................................

(4)SG函数 sprague_grundy.cpp ..........................................................................................

(5)测试用例 test.cpp ............................................................................................................

时间: 2024-07-29 17:15:18

github开源项目-算法实现之路的相关文章

【代码导读】Github 开源项目——wysihtml5 富编辑器(Bootstrap 风格)【二】

如果您意外进入该页面,或许从下述链接开始更容易理解: [代码导读]Github 开源项目——wysihtml5 富编辑器(Bootstrap 风格)[一] 1. 整体结构 在 wysihtml5 中,所有对象受 wysihtml5 命令空间保护,从其初始化定义看,整个代码架构一目了然: https://github.com/xing/wysihtml5/blob/master/src/wysihtml5.js 1 var wysihtml5 = { 2 version: "0.4.0pre&qu

AS中导入GitHub开源项目SlidingMenu总结,此方法有效,但是太耗时间。 「我用了半个多小时」

AS中导入GitHub开源项目SlidingMenu总结,我开始AS导入SlidingMenu的时候也百度了很多文章,写的都不是很详细,所以导入成功后,写了这篇文章,希望对想用AndroidStudio导入SlidingMenu的小伙伴有所启发. 先上最终效果图动画 1,下载SlidingMenu(https://github.com/jfeinstein10/SlidingMenu) 2.新建AS项目,把SlidingMenu-master中的library文件夹(我把这个文件夹重命名为sli

GitHub开源项目总结

GitHub开源项目总结,有需要的朋友可以参考下 GitHub开源项目android-styled-dialogs GitHub开源项目之changelog GitHub开源项目之AppRater GitHub开源项目之Android四次元(新浪微博客户端) GitHub开源项目之高仿"遇见" GitHub开源项目之Twitter客户端源码 GitHub开源项目之Jamendo音乐播放器 GitHub开源Android客户端 GitHub开源项目Android之Bootstrap Gi

iOS:开发常用GitHub开源项目(持续更新)

IOS开发常用GitHub开源项目(持续更新) 数据类 开源库 作者 简介 AFNetworking Mattt 网络请求库 ASIHTTPRequest pokeb 网络请求库 Alamofire cnoon Swift简洁网络请求库 SBJson stig Json解析引擎 JSONKit johnezang Json解析引擎 MJExtension CoderMJLee 字典转模型框架 KissXML robbiehanson XML解析 RNCryptor rnapier AES加密 F

如何参与一个GitHub开源项目

最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Github开源项目,只能说你开源了自己的项目,可以任别人自由下载. 那么该如何参与Github的开源项目呢?相信很多人都有这方面的疑问,网上也有一些参差不齐的教程教大家如何"Pull Request"

如何参与一个GitHub开源项目?

如何参与一个GitHub开源项目? 摘要:本文是Github官如何参与一个GitHub开源项目方给出的参与Github上开源项目的一些指导,对希望加入开源社区的开发者是一个不错的参考. 最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Github开源项目,只能

开源项目福利-github开源项目免费使用Azure PipeLine

微软收购Github后,很多人猜想微软可能会砍掉VSTS,然而事实VSTS并没有砍掉,关于Azure Devops的详细信息可以查看 这篇博客,如果想查看原文也可以从链接里提供的原始地址里查看. 今天要介绍的是做Azure devops的ci部分:Azure Pipeline. VSTS升级到Azure Devops之后对开源开发者带来的重大利好消息就是Github开源项目可以免费,无限时和并行运行10个CI/CD作业. 下面将简要介绍Azure PipeLine以及如何把Azure PipeL

使用 GitHub 开源项目申请 IntelliJ License

一.写在前面 这次要介绍的是通过使用 GitHub 上的开源项目来申请 IntelliJ Pycharm 的正版 License,只需在 GitHub 上准备一个维护超过3个月的开源项目,就能免费使用 Pycharm 一年了!这么好的方法,还不赶紧 get 一下? 二.为项目添加 License 在申请 License 之前,需要先给我们的 GitHub 开源项目添加 License,具体步骤如下: 1.新建文件 打开自己的 GitHub 个人主页,打开自己的开源项目,然后选择“Create n

Github开源项目单

以下涉及到的数据统计与 2019 年 5 月 1 日 12 点,数据来源:https://github.com/trending/java?since=monthly . 下面的内容从 Java 学习文档到最热门的框架再到热门的工具应有尽有,比如下面推荐到的开源项目 Hutool 就是近期比较热门的项目之一,它是 Java 工具包,能够帮助我们简化代码!我觉得下面这些项目对于学习 Java 的朋友还是很有帮助的! 1. JavaGuide Github 地址: https://github.co