樣板 B 樹 ( B - tree )
規則 :
(1) 每個節點內元素個數在 [MIN,2*MIN] 之間, 但根節點元素個數為 [1,2*MIN]
(2) 節點內元素由小排到大, 元素不重複
(3) 每個節點內的指標個數為元素個數加一
(4) 第 i 個指標所指向的子節點內的所有元素值皆小於父節點的第 i 個元素
(5) B 樹內的所有末端節點深度一樣
The government of a small but important country has decided that the alphabet needs to be streamlined and reordered. Uppercase letters will be eliminated. They will issue a royal decree in the form of a String of B and A characters. The first character in the decree specifies whether a must come ( B )Before b in the new alphabet or ( A )After b . The second character determines the relative placement of b and c , etc. So, for example, "BAA" means that a must come Before b , b must come After c , and c must come After d .
Any letters beyond these requirements are to be excluded, so if the decree specifies k comparisons then the new alphabet will contain the first k+1 lowercase letters of the current alphabet.
Create a class Alphabet that contains the method choices that takes the decree as input and returns the number of possible new alphabets that conform to the decree. If more than 1,000,000,000 are possible, return -1.
Definition
/*
* EULER S ALGORITHM 5.1
*
* TO APPROXIMATE THE SOLUTION OF THE INITIAL VALUE PROBLEM:
* Y = F(T,Y), A<=T<=B, Y(A) = ALPHA,
* AT N+1 EQUALLY SPACED POINTS IN THE INTERVAL [A,B].
*
* INPUT: ENDPOINTS A,B INITIAL CONDITION ALPHA INTEGER N.
*
* OUTPUT: APPROXIMATION W TO Y AT THE (N+1) VALUES OF T.
*/
Implemented BFS, DFS and A*
To compile this project, use the following command:
g++ -o search main.cpp
Then you can run it:
./search
The input is loaded from a input file in.txt
Here is the format of the input file:
The first line of the input file shoud contain two chars indicate the source and destination city for breadth first and depth first algorithm.
The second line of input file shoud be an integer m indicate the number of connections for the map.
Following m lines describe the map, each line represents to one connection in this form: dist city1 city2, which means there is a connection between city1 and city2 with the distance dist.
The following input are for A*
The following line contains two chars indicate the source and destination city for A* algorithm.
Then there is an integer h indicate the number of heuristic.
The following h lines is in the form: city dist which means the straight-line distance from the city to B is dist.