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