MindMap Gallery Data Structures and Algorithms
This is a mind map about data structures and algorithms, describing algorithmic ideas, strings, linked lists, arrays, hash tables, queues, algorithms, practical solutions, etc.
Edited at 2021-10-26 22:44:34One Hundred Years of Solitude is the masterpiece of Gabriel Garcia Marquez. Reading this book begins with making sense of the characters' relationships, which are centered on the Buendía family and tells the story of the family's prosperity and decline, internal relationships and political struggles, self-mixing and rebirth over the course of a hundred years.
One Hundred Years of Solitude is the masterpiece of Gabriel Garcia Marquez. Reading this book begins with making sense of the characters' relationships, which are centered on the Buendía family and tells the story of the family's prosperity and decline, internal relationships and political struggles, self-mixing and rebirth over the course of a hundred years.
Project management is the process of applying specialized knowledge, skills, tools, and methods to project activities so that the project can achieve or exceed the set needs and expectations within the constraints of limited resources. This diagram provides a comprehensive overview of the 8 components of the project management process and can be used as a generic template for direct application.
One Hundred Years of Solitude is the masterpiece of Gabriel Garcia Marquez. Reading this book begins with making sense of the characters' relationships, which are centered on the Buendía family and tells the story of the family's prosperity and decline, internal relationships and political struggles, self-mixing and rebirth over the course of a hundred years.
One Hundred Years of Solitude is the masterpiece of Gabriel Garcia Marquez. Reading this book begins with making sense of the characters' relationships, which are centered on the Buendía family and tells the story of the family's prosperity and decline, internal relationships and political struggles, self-mixing and rebirth over the course of a hundred years.
Project management is the process of applying specialized knowledge, skills, tools, and methods to project activities so that the project can achieve or exceed the set needs and expectations within the constraints of limited resources. This diagram provides a comprehensive overview of the 8 components of the project management process and can be used as a generic template for direct application.
Data Structures and Algorithms
string
KMP algorithm
linked list
Single list
Doubly linked list
Nginx
Jump table
application
timer
Redis
array
application
Nginx
Redis
Hash table
bloomfilter bloomfilter
avoid confict
zipper method
open addressing method
double hash
heap
stack stack
queuequeue
Two-way queue dqueue
priority queue
Tree
the term
Binary tree
Balanced Binary Tree BST
red black tree
6 major features
Advantages and Disadvantages
operate
Code
application
Nginx
B-tree/B-tree
B-tree
dictionary tree
picture
preheat
Application background (which scenarios require it)
shortest path
study
Classification
Undirected graph
directed graph
Weight graph (directed/undirected)
concept
vertex set
edge set
Spend
out degree
degree
storage
vertex storage
array
Edge storage
Adjacency matrix (two-digit array)
adjacency list
accomplish
Encapsulation
operate
create (construct)
Destruction (destruction)
Add, delete, and obtain information
Add, delete, and obtain information on vertices
Traverse
Get the out/in degree of a vertex
Determine whether it is connected (with a loop)
Traverse
depth first search
breadth first search
Dijkstra's algorithm (Dijkstra)
Practical solution
Massive data deduplication (string)
Background (application scenario)
URL deduplication
Spam identification
Prevent cache penetration
word spell check
solution
red black tree rbtree
set/map
hash table hashtable
unordered_set/unordered_map
Bloom filter
background
Solving string comparison issues
definition
Probabilistic data structure, characterized by efficient insertion query and clear judgment that a string must not exist or may exist
Principle (essence)
When inserting, use k hash functions to map it to k points on the bitmap and set them to 1; when retrieving, use k hash functions to detect whether the k points on the bitmap are all 1. If they are all 1, there may be , if there is one that is 0, it must not exist
Bitmap (bit array) storage
Use k hash functions
Advantages and disadvantages (comparison exists)
Compared with traditional query structures (red-black trees, hash tables), it is more efficient and takes up less space.
The results are probabilistic, but the error is controllable
Delete operation is not supported
Practical application
How many elements are stored?
How to control the false positive rate (error rate)?
How to determine the size (storage space) of a bitmap?
How to determine the number of hash functions?
Apply formulas (mathematical derivation)
Use the determined number of elements and false positive rate to determine the size of the storage space and the number of hash functions.
How to choose k hash functions?
Use the same hash function to recalculate the hash by adding different offsets to the old hash value.
Similar to the double hashing method in the "open addressing method" of hashing to avoid conflicts
operate
Construct
destroy
insert
Inquire
delete
time complexity
actual case
Squid web proxy cache server
Venti document storage system
SPIN model checker
Google Chrome
Key-Value system
algorithm
Sorting Algorithm
Bubble Sort
Quick sort
insertion sort
Hill sort
merge sort
bucket sort
Heap sort
type
Find algorithm
Find directly
binary search
greedy algorithm
Recursive and iterative algorithms
Algorithmic thinking
Greedy thoughts
algorithmic thinking process
Thought steps
Code
time/space complexity
Application scenarios