MindMap Gallery Java Learning Key Points Written Test Interview Test Points Data Structure and Algorithm
The key points of Java learning are data structures and algorithms, from Church-Turing theory to Turing machines and the essence of algorithms, from the underlying implementation of data to complex data structures. The content is comprehensive and the key points are highlighted. Different names and names for the same concept have been unified. ; The posted algorithm implementations all use JAVA language and have been tested and optimized, with the addition of recursive or iterative implementation methods.
Edited at 2019-09-05 09:31:39Avatar 3 centers on the Sully family, showcasing the internal rift caused by the sacrifice of their eldest son, and their alliance with other tribes on Pandora against the external conflict of the Ashbringers, who adhere to the philosophy of fire and are allied with humans. It explores the grand themes of family, faith, and survival.
This article discusses the Easter eggs and homages in Zootopia 2 that you may have discovered. The main content includes: character and archetype Easter eggs, cinematic universe crossover Easter eggs, animal ecology and behavior references, symbol and metaphor Easter eggs, social satire and brand allusions, and emotional storylines and sequel foreshadowing.
[Zootopia Character Relationship Chart] The idealistic rabbit police officer Judy and the cynical fox conman Nick form a charmingly contrasting duo, rising from street hustlers to become Zootopia police officers!
Avatar 3 centers on the Sully family, showcasing the internal rift caused by the sacrifice of their eldest son, and their alliance with other tribes on Pandora against the external conflict of the Ashbringers, who adhere to the philosophy of fire and are allied with humans. It explores the grand themes of family, faith, and survival.
This article discusses the Easter eggs and homages in Zootopia 2 that you may have discovered. The main content includes: character and archetype Easter eggs, cinematic universe crossover Easter eggs, animal ecology and behavior references, symbol and metaphor Easter eggs, social satire and brand allusions, and emotional storylines and sequel foreshadowing.
[Zootopia Character Relationship Chart] The idealistic rabbit police officer Judy and the cynical fox conman Nick form a charmingly contrasting duo, rising from street hustlers to become Zootopia police officers!
Data Structures and Algorithms
Church-Turing Thesis/Church-Turing Thesis
calculation process
recursion
lambda calculus
Turing machine
All recursion can be converted to iteration
Programming = Data Structure Algorithm
Logical structure of data (object)
linear structure
One to one
tree structure
one to many
Graphical structure
many to many
gather
Belong to the same set
computer storage
underlying storage structure
array
continuous
linked list
dispersion
Storage method
sequential storage
Physical location is continuous
Linked storage
pointer
Index storage
direction chart
Hash/hash storage
data structure
linear structure
array
one-dimensional array
Two-dimensional array
sparse array
Number of columns = 3: row number column number value
Number of rows = number of valid values
The first line holds the array size
three dimensional array
Rubik's Cube Game
Multidimensional Arrays
Game classification data: equipment, skills, status
linked list
Single list
Leading node
Head node
Add, delete, modify and check
No leading node
Recursive reversal
Interview questions
Find the number of valid nodes in a singly linked list
Find the kth node from the bottom of the linked list
Reverse of singly linked list
Direct reversal
Create a new singly linked list inversion
Print singly linked list from end to beginning
Reverse traversal
Stack stack
Recursive implementation
Doubly linked list
Bidirectional search
self delete
One-way circular linked list
joseph ring
Construct
Traverse
Out of the circle
Find whether there is a cycle in the linked list
speed pointer
linear table
restricted linear table
queue
first in first out ordered list
Queue calling system
array implementation queue
Maximum capacity
Queue head
end of queue
Array implements circular queue
size:maximum capacity 1
f:queue head
r: end of queue
Number of valid data: (size r-f)%size
Linked list implementation queue
Single linked list implementation
head node
tail node
queue length
stack
First in, last out ordered list
Addition and deletion only operate on the top of the stack
application
subroutine call
recursive call
expression conversion
Infix to postfix expression
Example
Binary tree traversal
Depth-first search of graphs
Array implementation stack
expression
prefix/polish expression
infix expression
Suffix/reverse polish expression
reverse polish calculator
nonlinear structure
generalized table
Tree
the term
nodenode
root node/tree root
branch node
leaf node
tree/whole tree
subtree
Spend
degree of node
degree of tree
Level/Depth
Node level/depth
Tree level/depth
high
node height
tree height
forest
definition
basic definition
recursive definition
genealogy definition
Unordered tree/free tree
ordered tree
Binary tree
full binary tree
Foreign version definition
complete binary tree
Foreign version definition
heap
Max pile/big root pile/big top pile
Minimum heap/small root heap/small top heap
Heap sort
Binary search tree/binary sorting tree/binary search tree/BST tree
Balanced tree/balanced binary tree/AVL tree
R-tree
red black tree
Split tree/Split tree
Huffman tree/Huffman tree/optimal binary tree
Huffman coding
Implement data compression and decompression
clue binary tree
preorder clue binary tree
In-order clue binary tree
postorder clue binary tree
Traversal mode
Preorder traversal
depth first traversal
Recursive implementation
Iterative implementation
inorder traversal
Recursive implementation
Iterative implementation
Postorder traversal
Recursive implementation
Iterative implementation
Level traversal
Queue implementation
storage structure
sequential storage structure
chain storage structure
Binary tree algorithm questions
Find the number of nodes in a binary tree
Recursive implementation
Iterative implementation
Find the depth or height of a binary tree
Recursive implementation
Iterative implementation
Find the number of nodes in the kth level of a binary tree
Recursive implementation
Find the number of leaf nodes in a binary tree
Recursive implementation
Iterative implementation
Determine whether two binary trees are the same tree
Recursive implementation
Iterative implementation
Determine whether a binary tree is a balanced binary tree
Recursive implementation
Find the mirror image of a binary tree
Recursive implementation
Iterative implementation
Determine whether two binary trees mirror each other
Recursive implementation
Find the lowest common ancestor node of two nodes in a binary tree
Recursive implementation
Iterative implementation
Determine whether it is a binary search tree BST
Recursive implementation
Iterative implementation
B-tree/B-tree/B-tree
B-tree
B* tree
Interview questions
B-tree, B-tree usage scenarios
What are database indexes?
Performance comparison between B-tree and binary search tree
B Comparing the advantages of B-tree
Why do database indexes not use red-black trees but B-trees?
trie/prefix tree/dictionary tree
picture
Classification
Undirected graph
directed graph
complete graph
Directed complete graph
undirected complete graph
With authority picture/net
Expression
Two-dimensional array representation/adjacency matrix
Linked list representation/adjacency list
Array linked list
Traverse
depth first traversal
breadth-first traversal
Hash table
Method to realize
Array linked list
Array linked list red black tree
Hash function (hash function)
Construction method
direct addressing method
digital analytics
division leaving remainder method
segmented superposition method
Square-Medium Method
pseudorandom number method
Common hash functions
string
Jenkins Hash
BKDRHash
time33
FNV
DJB
integer
MurmurHash3
variant of single-word Wang/Jenkins hash
Hash collision
Open addressing method/closed hashing/rehashing method
Linear probing and then hashing
Second detection and then hashing
Pseudo-random probing and then hashing
rehash
Chain address method/open hashing/zipper method
Create a public overflow area
application
HashMap
HashTable
ConcurrentHashMap
Interview questions
Two Sum
violent law
Two-pass hash table
one pass hash table
algorithm
recursion
application
math problem
Eight Queens
Tower of Hanoi
factorial
maze
ball and basket
Problems solved with stack
Partial algorithm
Quick sort
merge sort
binary search
divide and conquer algorithm
Iterate
Algorithmic complexity
time complexity
Time frequency/statement frequency T(n)
time complexity
Big O notation
Constant order O(1)
Linear order O(n)
Logarithmic order O(logn)
Linear logarithmic order O(nlogn)
Square order O(2ⁿ)
Cubic order O(n³)
kth power order O(n^k)
Exponential order O(2ⁿ)
Factorial O(n!)
Square root order O(√n)
space complexity
Sorting Algorithm
the term
Stablize
unstable
internal sorting
external sorting
Nonlinear time comparison class
swap sort
Bubble Sort
Quick sort
Benchmark selection
fixed datum
random benchmark
Hit the right number among three numbers
After taking out the first, middle and last elements and sorting them from small to large, the middle element is used as the basis and exchanged with the penultimate element.
i and j start from the first element and the second to last element respectively. When i is to the left of j, move i right until an element greater than or equal to the pivot is found, and then move j left until an element less than or equal to the pivot is found. When i and j stop, the elements are swapped. In this way, those that are greater than or equal to the benchmark are moved to the right, and those that are less than or equal to the benchmark are moved to the left.
Repeat the above steps until i and j are interleaved, and exchange the base element with the element pointed to by i, so that the base element divides the entire set of elements into a subset of elements smaller than the base and greater than the base.
Finally, perform the above operations on the subsets until the number of subsets is less than 5. At this time, insertion sort optimization can be used
multiple benchmarks
JDK1.7 three benchmarks
JDK1.8 five benchmarks
optimization
When the sequence length reaches a certain size, use insertion sort
Tail recursion optimization
aggregate elements
Multithreading
The underlying principle of Arrays.sort in JDK8
threshold
Number<47
insertion sort
47<=Number<=286
Quick ranking of five benchmarks
Number>286
no structure
Have structure
merge sort
insertion sort
direct insertion sort
Hill sort
selection sort
Simple selection sort
Heap sort
merge sort
Two-way merge sort
multi-way merge sort
Linear time non-comparison class
counting sort
Radix sort
bucket sort
Find algorithm
Sequential search/linear search
Binary search/halve search
interpolation search
Fibonacci search
Top ten commonly used algorithms
binary search algorithm
divide and conquer algorithm
dynamic programming algorithm
greedy algorithm
KMP algorithm
Prim's algorithm
Kruskal's algorithm
Dijkstra algorithm/Dijkstra
Floyd algorithm/Floyd
Knight Travel Problem/Knight-on-Chessboard Algorithm
application
backpack problem
0-1 backpack
Complete backpack
Multiple backpacks
maze problem
dyeing
Eight Queens
Backtracking
Backgammon program
Two-dimensional array algorithm
Two-dimensional array sparse array algorithm
Joseph problem
Simulation method
One-way circular linked list
recursive method
Iterative method
array
queue
formula method
Road construction problem
Weighted minimum spanning tree Prim's algorithm
shortest path problem
Figure Freud's algorithm
Figure Dijestala algorithm
Tower of Hanoi
Divide and Conquer Algorithm/Recursion
Iterate