2.1 Algorithms

Description

GCSE Computing (2.1 Algorithms) Mind Map on 2.1 Algorithms, created by 2402 2003 on 17/12/2018.
2402 2003
Mind Map by 2402 2003, updated more than 1 year ago
2402 2003
Created by 2402 2003 over 5 years ago
93
0

Resource summary

2.1 Algorithms
  1. Computational Thinking
    1. Allows us to take a complex problem, understand what the problem is, and then develop possible solutions
      1. The use of a computer to solve problems
        1. 4 Key Areas:
          1. Decomposition
            1. Breaking down a complex problem or system into smaller, more manageable parts
            2. Abstraction
              1. Gets rid of the irrelevant stuff in the program
                1. Allows to only focus on the important information
                2. Pattern Recognition
                  1. Looking for similarities among and within problems
                  2. Algorithms
                    1. Developing a step-by-step solution to solve the problem
                      1. Algorithms must be detailed & easy to understand so it can be passed onto someone else and have them code it
                  3. Binary Search
                    1. List must be in order
                      1. Middle Value is taken
                        1. Search is stopped if it is the value is the one you're looking for
                          1. If middle value is larger than the desired one: Take the values to the left of the middle value
                            1. Then repeat with the new list
                            2. If middle value is smaller than the desired one: Take the values to the right of the middle value
                          2. LInear Search
                            1. List does not have to be in order
                              1. First value of list is checked
                                1. Search is stopped if it is the value is the one you're looking for
                                  1. If not desired value: Check next value on the list
                                    1. Process is repeated until desired value is attained
                                2. Bubble Sort
                                  1. A method for sorting out unordered lists
                                    1. Take the first and second elements from the list and compare them
                                      1. If element 1 > element 2: Swap
                                        1. Else: Leave it
                                          1. Move along to the next pair of elements (element 2 & 3) and repeat
                                            1. Repeat until you have moved through the whole list and not made any changes
                                      2. Worst case scenario: n*n (n = number of elements) Average number of swaps: n^2
                                      3. Merge Sort
                                        1. A list is split into individual lists, these are then combined (2 lists at a time)
                                          1. Split all elements into individual lists
                                            1. Compare the first element into first two lists
                                              1. Put the smallest at the start of a new list
                                                1. Compare the next element of the 1st list with the next element of the 2nd list
                                                  1. Put the smallest into a new list
                                                    1. Repeat until first two lists merged
                                                      1. Then repeat with other lists
                                                    2. If you have two values the same, add one (it doesn't matter from which list), and then add the second
                                            2. Insertion Sort
                                              1. Comparing unsorted elements in an individual list and sorting then out in order
                                                1. In a list, the starting element is a 'sorted' list
                                                  1. The rest of the elements are an 'unsorted' list
                                                    1. Compare the first element in the 'unsorted' list with all the elements in the 'sorted' list
                                                      1. If the current unsorted element is smaller than the interacted sorted element, put it in front of that element (move the other sorted elements along)
                                                        1. If the unsorted element is larger, compare it with the next
                                                          1. If there are no more elements in the 'sorted' list, put it in the final position
                                                            1. Repeat until all elements in the 'unsorted' list are in the 'sorted' list
                                                  2. Flow Chart
                                                    1. Can be used to represent an algorithm
                                                      1. It shows the data that is inputted and outputted
                                                        1. It shows the processes (actions) that take place
                                                          1. It shows the decisions and repetitions that take place
                                                            1. Lines are used to show the flow of control
                                                              1. Set shapes are used to represent different functions
                                                                1. Diamond - Decision
                                                                  1. Oval - Start/End
                                                                    1. Rectangle - Process
                                                                      1. Parallelogram - Input/Output
                                                                        1. Rectangle with 2 interior lines - Sub-Process
                                                              2. Pseudocode
                                                                1. 'Fake code'
                                                                  1. Part way between English sentences, and programming code
                                                                    1. It is language neutral (it can be read by programmers who are able to use any language)
                                                                      1. Dry Run - Walking through an algorithm which sample data, running each step manually
                                                                        1. Trace Table - A table that follows the values of variables to check for accuracy
                                                                        Show full summary Hide full summary

                                                                        Similar

                                                                        A level Computing Quiz
                                                                        Zacchaeus Snape
                                                                        Types and Components of Computer Systems
                                                                        Jess Peason
                                                                        Input Devices
                                                                        Jess Peason
                                                                        Output Devices
                                                                        Jess Peason
                                                                        Computing
                                                                        Kwame Oteng-Adusei
                                                                        Pack of playing cards answer
                                                                        Karl Taylor
                                                                        Code Challenge Flow Chart
                                                                        Charlotte Hilton
                                                                        Computing Hardware - CPU and Memory
                                                                        ollietablet123
                                                                        Computer Systems
                                                                        lisawinkler10
                                                                        Computer science quiz
                                                                        Ryan Barton
                                                                        Input, output and storage devices
                                                                        Mr A Esch