Today began to study the Redis source code some of the tools in the implementation of the tool class in any language, the implementation of the algorithm principle should be the same, so you can take this opportunity to learn some of the more classical algorithms. Like I see today. CRC cyclic redundancy check algorithm and rand random number generation algorithm.
1.The distance vector routing algorithm (Distance vector ROUTING,DV) is the first routing algorithm used on the ARPANET network, also known as Bellman-ford routing algorithm and Ford-fulkerson algorithm, mainly in RIP (route Information Protocol) protocol. Cisco's IGRP and EIGRP routing protocols are also using DV as a
Coincidentally, almost all of the popular hash map uses the DJB hash function, commonly known as "TIMES33" algorithm.
Perl, Berkeley DB, Apache, MFC, STL, and so on.
Times33 's algorithm is also very simple, is constantly multiply by 33. Nhash = nhash*33 + *key++;
I didn't find any theory to illustrate the rationality of this algorithm, it is said that only
Kruskal algorithm and prim algorithm of minimum spanning treeDepending on the depth-first traversal and breadth-first traversal of the graph, all vertices can be connected with the fewest edges, and no loops are formed. This tree structure, which joins all vertices and the path is unique, is called a spanning tree or an extension tree. In practice, the weights and minimums of all sides of the spanning tree
First, merge Sort methodMerge sort is an efficient or relatively high algorithm. The divide-and-conquer approach is often used as a solution to this problem, and today's popular cloud computing is in fact a sort of application of the divide-and-conquer approach.The so-called division of the Law, the literal interpretation is "divide and conquer", is to divide a complex problem into two or many other similar or similar sub-problems, until the last sub-
K-Nearest-neighbor algorithm for machine learning (KNN algorithm)
first, the conceptK-Nearest Neighbor algorithm is a simple machine learning method based on the distance between different eigenvalues. This paper simply introduces the next KNN algorithm and uses it to realize handwritten digit recognition.
working pr
A * algorithm
is a heuristic search algorithm.
People who understand BFS, DFS, or Dijkstra algorithms should know that. These algorithms are a way of blindly searching around.
Heuristic Search:
Heuristic search is the search in the state space to evaluate the location of each search, get the best location, and then from this location to search until the target. This can omit a lot of fearless search path,
The dijkstra--of the halfway algorithm is understood from the angle of routing algorithm
A previous Wireless sensor network course (WSN) assigned a Dijkstra algorithm to any language in any environment. I thought, good ah, had been shouting no time to worry about the algorithm, this can be used as a breakthrough point
There are also contacts for the program paging algorithm. In general, there are two kinds of paging algorithms, one is the traditional ADO paging, the other is the select top paging algorithm. For small data tables, such as ten thousand or twenty thousand of the amount of data table, I tend to use the ADO algorithm, for large data tables, you must adopt the latte
Learning the basics of algorithmic design and analysis, exercise 2.4 5th asks to design a non-recursive algorithm for Hanoi games.Think, not the solution. After reading the answer tips:If you can't, don't be depressed: the non-recursive algorithm of this problem is not complicated, but it is not easy to find. As a consolation, you can find answers on the internet.Well, the words are so straightforward, so B
On the extended Euclidean algorithm (Extended Euclidean algorithm), I was working on the classic topic of frog dating to get access to this algorithm. There is also an AC code and a solution to the problem.Content: Known A, B, solves a set of X, Y, and satisfies the Bézout equation: Ax+by =gcd (A, B)Extending Euclid's algorit
Pattern matching algorithm for strings
The locating operation of a substring is often called a pattern match of a string, where T is called a pattern string .
General positioning function for substring position (Brute force)That's what I write Java code for.int Index(String s,string T,int POS) {char[] S_arr = S.tochararray (); char[] T_arr = T.tochararray ();intI,j,k;//iIs the pointer to the main string s, and J is the pointer to the pat
Chapter of
Basic Statement
This poster of algorithms are based on the book and the lecture of algorithms on Coursera which are taught by Robert Sedgewi CK and Kevin Wayne, writers of the book mentioned above.
Chapter of "algorithm" is the fundamental of Java programming language and a brief introduction to Algorithms and DA TA structure, including their concepts. Some interesting problems and the basic implementations of them. Introduction Why We s
Dijkstra algorithm
Also known as Dijkstra algorithm, is a classical shortest path algorithm, the main feature is to expand from the starting point to the outer layer, until the extension to the end point, the use of breadth-first search to solve the problem of the single source shortest path of the weighted direction graph, the
System Learning hash Algorithm (hash algorithm)
Reprint please indicate the source.
Preface:
The origin of the "system learning hash Algorithm" in this paper. After seeing the " 11, thoroughly parse hash table algorithm from beginning to end" This article, the original text does not have blizzard hash fast reason a
Dijkstra algorithmThe Dijkstra (Dijkstra) algorithm is a typical single-source shortest path algorithm that calculates the shortest path of a node to all other nodes. The main feature is to extend from the center of the starting point to the outer layer until it expands to the end point.Floyd algorithmThe Floyd algorithm is a classical dynamic programming
Non-Blocking Algorithm
In computer science,Non-Blocking AlgorithmEnsures that threads competing for a shared resource do not have their execution indefinitely postponed by mutual exclusion. A non-blockingalgorithm isLock-freeIf there is guaranteed system-wide progress regardless of scheduling;Wait-freeIf there is also guaranteed per-thread progress.
Literature up to the turn of the 21st century used "non-blocking" synonymously with lock-free. Howeve
Network maximum flow algorithm-EK algorithm, maximum flow ek AlgorithmPreface
The EK algorithm is the most basic algorithm for finding the largest stream in the network and a well-understood algorithm. It can be used to solve most of the largest stream problems.
However, due
1. Foreword
This paper introduces the commonly used permutation and combination algorithms, including full permutation algorithm, full combination algorithm, m number selection and n combination algorithm.
2. Permutation algorithm
The common permutation algorithms are:(A) Dictionary order method(B) The increment met
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.