computer_science:programming:algorithm
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
computer_science:programming:algorithm [2021/09/25 05:25] – [Loop] mana | computer_science:programming:algorithm [2021/10/14 03:35] (current) – [Gauss Sum] mana | ||
---|---|---|---|
Line 3: | Line 3: | ||
Pseudocode is not unique. That is to say that it does not have rigid rules. Different people may have different pseudocode syntax. | Pseudocode is not unique. That is to say that it does not have rigid rules. Different people may have different pseudocode syntax. | ||
+ | ===== Design ===== | ||
+ | * Step 1: Do something | ||
+ | * Step 2: Do something | ||
+ | * Step 3: Do something | ||
+ | * ... : ... | ||
+ | ==== Sequential steps ==== | ||
+ | A sequential step is a single task; for example '' | ||
+ | |||
+ | ==== Conditional steps ==== | ||
+ | Ask a question that is answered with a logic answer. The answer can be '' | ||
+ | For example: | ||
+ | < | ||
+ | if (x > 0) add 1 to x | ||
+ | else substract 1 from x | ||
+ | </ | ||
+ | |||
+ | ==== Loops ==== | ||
+ | Iterative steps. | ||
+ | < | ||
+ | add 1/2 cup to mixture | ||
+ | while mixture is dry | ||
+ | </ | ||
+ | |||
+ | ==== Recursion ==== | ||
+ | FIXME (This will be filled at a later point.) | ||
+ | |||
+ | ==== Case study: addition ==== | ||
+ | Example: | ||
+ | |||
+ | < | ||
+ | 472 | ||
+ | +593 | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | FIXME | ||
+ | Conceptualise: | ||
+ | < | ||
+ | Let m => 1 be number of digits | ||
+ | |||
+ | a< | ||
+ | |||
+ | === Algorithm === | ||
+ | < | ||
+ | Step 1: get m (user provides m) | ||
+ | Step 2: get a< | ||
+ | Step 3: set i=0, set carry=0 | ||
+ | Step 4: while(i ≤ m-1) do Step 5 to 7 | ||
+ | Step 5: set c< | ||
+ | Step 6: | ||
+ | set c< | ||
+ | set carry = 1 | ||
+ | else | ||
+ | set carry = 0 | ||
+ | Step 7: set i = i + 1 | ||
+ | Step 8: set c< | ||
+ | step 9: print c< | ||
+ | step 10: stop | ||
+ | </ | ||
===== Squential statements ===== | ===== Squential statements ===== | ||
* Inputs: Get " | * Inputs: Get " | ||
Line 22: | Line 81: | ||
while(condition) | while(condition) | ||
</ | </ | ||
+ | |||
+ | * '' | ||
+ | |||
+ | ===== Sequential Search ===== | ||
+ | Data set of N elements: '' | ||
+ | Therefore the list will be L< | ||
+ | Target: 45 〇 130 × | ||
+ | This is easy for the brain because the brain is made pattern matching. | ||
+ | |||
+ | < | ||
+ | Step 1 get L1, L2, LN, N, Target | ||
+ | Step 2 Set Found = No | ||
+ | Step 3 Set i = 1 | ||
+ | Step 4 while (Foundo = No AND i ≤ N) do Step 5 to Step 6 | ||
+ | Step 5 if (Li = Target) then | ||
+ | set Found = Yes | ||
+ | Step 6 else | ||
+ | set i = i + 1 | ||
+ | Step 7 if (Found = Yes) then | ||
+ | print " | ||
+ | Step 8 else | ||
+ | print " | ||
+ | Step 9 stop | ||
+ | </ | ||
+ | |||
+ | ===== The Swap ===== | ||
+ | x y | ||
+ | 5 3 | ||
+ | Swap the content of both variable so that X=3 and Y=5 | ||
+ | < | ||
+ | Step 1 get x, y | ||
+ | Step 2 set temp = x | ||
+ | Step 3 x = y | ||
+ | Step 4 y = temp | ||
+ | Stop 5 Stop | ||
+ | </ | ||
+ | |||
+ | * For swapping in other algorithm '' | ||
+ | |||
+ | ===== Gauss Sum ===== | ||
+ | n ≥ 1 | ||
+ | 1+2+3+4+...+n | ||
+ | |||
+ | Formula: $\frac{(n+1)*n}{2}$ | ||
+ | FIXME (double check this information) | ||
+ | When talking about efficiency we say that the efficiency of n is $\Theta(n^2)$ | ||
+ |
computer_science/programming/algorithm.1632515103.txt.gz · Last modified: 2021/09/25 05:25 by mana