日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一些有意思的算法代码[转载]

發布時間:2023/12/9 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一些有意思的算法代码[转载] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:http://coolshell.cn/articles/6010.html

?

Keith Schwarz是一個斯坦福大學計算機科學系的講師。他對編程充滿了熱情。他的主頁上他自己正在實現各種各樣的有意思的算法和數據結構,http://www.keithschwarz.com/interesting/,?目前這個網頁上有88個(見下面的列表),但這位大哥要干135個,你可以看看他的To-Do List。

從這個列表上,我們可以看到,他從去年7月份就在自己實現這些東西了,我把他實現的這些算法轉過來,

  • 一方面我們可以學習一下這些算法和代碼,因為很多東西對我來說都比較新,我以前列舉過一些經典的算法,算法和數據結構詞典,還有可視化的數據結構和算法,?不過感覺都沒有這個全。
  • 另一方面我希望這個事可以影響到一些正在學習編程的人。看看別人是怎么學習編程的,希望對你有借鑒作用。
NameLinkDate?AddedLanguageDescription
Binomial Heap(link)7?24?2010C++An implementation of a?binomial heap?data structure for use as a priority queue.
Bounded Priority Queue(link)7?24?2010C++An implementation of a?priority queue?with a fixed upper limit to its size..
Matrix(link)7?24?2010C++A collection of classes for manipulating?matrices.
VList(link)8?16?2010JavaAn implementation of the?List?abstraction backed by a?VList.
Function Wrapper(link)8?16?2010C++A C++ wrapper class around unary functions.
String(link)8?17?2010C++An implementation of a?string?abstraction that uses the small string optimization.

?

nstream(link)8?31?2010C++An stream class that sends and receives data over a network.
Snake(link)8?31?2010C++An implementation of the game?Snake?with a rudimentary AI.
Mergesort(link)9?14?2010C++An implementation of the?mergesort?algorithm.
Next Permutation(link)10?6?2010C++An implementation of the?next_permutation?STL algorithm.
Interval Heap(link)10?17?2010JavaAn implementation of a?double-ended priority queue?using an?interval heap.
Linear-Time Selection(link)10?18?2010C++A deterministic, linear-time?selection algorithm?using the?median-of-medians?algorithm.
Heapsort(link)10?18?2010C++An implementation of the?heapsort?algorithm.
Union-Find(link)10?19?2010JavaAn implementation of a?disjoint-set data structure?using a disjoint set forest.
Radix Sort(link)10?19?2010C++An implementation of the?radix sort?algorithm.
Rational(link)10?23?2010C++A data structure representing a?rational number.
DPLL(link)10?23?2010HaskellAn implementation of the?DPLL algorithm?for solving?CNF-SAT.
Smoothsort(link)10?27?2010C++An implementation of the?smoothsort algorithm, an adaptive heapsort variant.
Extendible Array(link)10?28?2010JavaA?dynamic array?class with O(1) worst-case runtime lookup and append.
In-Place Merge(link)10?29?2010C++An implementation of a?merge algorithm?that runs?in-place.
Random Shuffle(link)10?29?2010C++An algorithm for generating a?random permutation?of a set of elements.
Random Sample(link)10?29?2010C++An O(n) time, O(1) space algorithm for randomly choosing k elements out of a stream with uniform probability.
Natural Mergesort(link)10?30?2010C++An implementation of?natural mergesort, an?adaptive?variant of?mergesort.
Interpolation Search(link)10?31?2010C++An implementation of the?interpolation search?algorithm.
Introsort(link)10?31?2010C++An implementation of the?introsort?algorithm, a fast hybrid of?quicksort,?heapsort, andinsertion sort.
Hashed Array Tree(link)11?3?2010JavaAn implementation of a dynamic array backed by a?hashed array tree.
Recurrence Solver(link)11?13?2010C++A fast algorithm for generating terms of a sequence defined by a?linear recurrence relation.
Fibonacci Heap(link)11?15?2010JavaAn implementation of a priority queue backed by a?Fibonacci heap.
Dijkstra’s Algorithm(link)11?16?2010JavaAn implementation of?Dijkstra’s algorithm?for single-source shortest paths.
Prim’s Algorithm(link)11?17?2010JavaAn implementation of?Prim’s algorithm?for computing?minimum spanning trees.
Kruskal’s Algorithm(link)11?17?2010JavaAn implementation of?Kruskal’s algorithm?for computing?minimum spanning trees.
Majority Element(link)11?17?2010C++A fast, linear-time algorithm for finding the?majority element?of a data set.
Haar Transform(link)11?17?2010C++A set of functions to decompose a sequence of values into a sum of?Haar wavelets.
Argmax(link)11?19?2010C++A pair of functions to compute the?arg min or max?of a function on some range.
Derivative(link)11?19?2010C++A?function object?that approximates the?derivative?of a function.
Levenshtein Distance(link)11?19?2010C++An algorithm for computing the?Levenshtein distance?between two sequences.
Skiplist(link)11?20?2010C++An implementation of a?skip list, a randomized data structure for maintaining a sorted collection.
van Emde Boas Tree(link)11?26?2010C++An implementation of a sorted associative array backed by a?van Emde Boas tree.
Cuckoo HashMap(link)11?27?2010JavaAn implementation of a?hash table?using?cuckoo hashing.
Needleman-Wunsch Algorithm(link)11?28?2010C++An implementation of the?Needleman-Wunsch?algorithm for optimal string alignment.
Treap(link)11?28?2010C++An implementation of a sorted associative array backed by a?treap.
Floyd-Warshall Algorithm(link)12?10?2010JavaAn implementation of the?Floyd-Warshall algorithm?for all-pairs shortest paths in a graph.
Power Iteration(link)12?10?2010C++An implementation of the?power iteration?algorithm for finding dominant eigenvectors.
Edmonds’s Matching Algorithm(link)12?15?2010JavaAn implementation of?Edmonds’s matching algorithm?for finding?maximum matchings?in undirected graphs.
Kosaraju’s Algorithm(link)12?15?2010JavaAn implementation of?Kosaraju’s algorithm?algorithm for finding?strongly connected components?of a directed graph.
2-SAT(link)12?15?2010JavaA linear-time algorithm for solving?2-SAT.
Bellman-Ford Algorithm(link)12?17?2010JavaAn implementation of the?Bellman-Ford?algorithm for single-source shortest paths.
Topological Sort(link)12?17?2010JavaAn algorithm for computing a?topological sort?of a directed acyclic graph.
Graham Scan(link)12?19?2010C++An implementation of the?Graham scan?for finding convex hulls in 2D space.
Bipartite Testing(link)12?19?2010JavaA linear-time algorithm for checking whether a directed graph is?bipartite.
Johnson’s Algorithm(link)12?19?2010JavaAn implementation of?Johnson’s algorithm?for all-pairs shortest paths.
Strassen Algorithm(link)12?20?2010C++An implementation of the?Strassen algorithm?for fast matrix multiplication.
Cartesian Tree Sort(link)12?21?2010C++An implementation of?Cartesian tree sort, an adaptive, out-of-place heapsort variant.
Ford-Fulkerson Algorithm(link)12?21?2010JavaAn implementation of the?Ford-Fulkerson?maximum-flow algorithm.
Scaling Ford-Fulkerson(link)12?22?2010JavaAn modification of the?Ford-Fulkerson?maximum-flow algorithm that uses scaling to achieve polynomial time..
Splay Tree(link)12?27?2010C++An implementation of a sorted associative array backed by a?splay tree.
Ternary Search Tree(link)12?28?2010C++An implementation of a sorted set of strings backed by a?ternary search tree.
Ring Buffer(link)12?30?2010JavaAn implementation of a FIFO queue using a?ring buffer.
AVL Tree(link)12?30?2010C++A sorted associative container backed by an?AVL tree.
Rabin-Karp Algorithm(link)1?1?2011C++An implementation of the?Rabin-Karp algorithm?for string matching.
RPN Evaluator(link)1?18?2011C++ / strainA library to tokenize and evaluate simple arithmetic expressions in?reverse Polish notation.
Shunting-Yard Algorithm(link)1?18?2011C++ / strainAn implementation of Dijkstra’s?shunting-yard algorithm?for converting infix expressions to reverse-Polish notation.
Skew Binomial Heap(link)1?20?2011C++An implementation of a priority queue backed by a?skew binomial heap.
2/3 Heap(link)3?1?2011C++An implementation of a priority queue whose branching factor alternates at different levels to maximize performance.
Zeckendorf Logarithm(link)3?10?2011C++An algorithm based on?Zeckendorf representations?that efficiently computes logarithms.
Factoradic Permutations(link)3?17?2011C++A set of algorithms for generating?permutations?using the?factoradic number system.
Binary Cyclic Subsets(link)3?20?2011C++A set of algorithms for generating?subsets?in?lexicographical order?using?binary numbers and cyclic shifts.
Fibonacci Iterator(link)3?22?2011C++An STL-style iterator for iterating over the?Fibonacci numbers.
Fibonacci Search(link)3?22?2011C++An implementation of the?Fibonacci search?algorithm.
Euclid’s Algorithm(link)4?18?2011HaskellAn implementation of?Euclid’s algorithm?and applications to?continued fractions?and?the extended Euclidean algorithm.
Find Duplicate(link)4?18?2011PythonAn algorithm to find a repeated element in an array using?Floyd’s cycle-finding algorithm.
Permutation Generator(link)4?19?2011PythonA?generator?for producing all?permutations?of a list of elements.
Matrix Find(link)4?19?2011PythonA solution to the classic interview question of searching a sorted matrix for a particular value.
Binary GCD(link)4?23?2011SchemeAn implementation of the?binary GCD algorithm?for computing greatest common divisors of nonnegative integers.
Knuth-Morris-Pratt Algorithm(link)5?3?2011PythonAn implementation of the?Knuth-Morris-Pratt algorithm?for fast string matching.
Kadane’s Algorithm(link)5?7?2011C++An implementation of Kadane’s algorithm for solving the?maximum-weight subarray problem.
Karatsuba’s Algorithm(link)8?15?2011PythonAn implementation of?Karatsuba’s algorithm?for fast integer multiplication.
Min-Stack(link)8?15?2011C++An implementation of a?LIFO stack?that supports O(1) push, pop, and find-minimum.
Random Bag(link)8?15?2011PythonA data structure that supports insertion and removal of a uniformly-random element.
Min-Queue(link)8?15?2011C++An implementation of a?FIFO queue?that supports O(1) push, pop, and find-minimum.
Lights-Out Solver(link)8?29?2011C++A solver for the game?Lights Out?using?Gaussian elimination?over?GF(2).
Maximum Single-Sell Profit(link)11?9?2011PythonFour algorithms for the?maximum single-sell profit problem, each showing off a different algorithmic technique.
Generalized Kadane’s Algorithm(link)11?10?2011C++A generalization of?Kadane’s algorithm?for solving the maximum subarray problem subject to a?length restriction.
Longest Range(link)11?19?2011JavaAn algorithm for solving the?longest contiguous range?problem.
Egyptian Fractions(link)11?20?2011PythonAn implementation of the?greedy algorithm?for finding?Egyptian fractions.
LL(1) Parser Generator(link)11?21?2011JavaAn?LL(1) parser generator.
LR(0) Parser Generator(link)11?23?2011JavaAn?LR(0) parser generator.
Word Ladders(link)11?27?2011JavaScriptA program for finding?word ladders?between two words.

轉載于:https://www.cnblogs.com/wufawei/archive/2011/12/18/2291650.html

總結

以上是生活随笔為你收集整理的一些有意思的算法代码[转载]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。