Too many selected pages
International Baccalaureate IB Computer Science
B.2.4.1 Algorithm Complexity & Big O
Describe the efficiency of specific algorithms by calculating their Big O notation to analyse their scalability. - The time and space complexities of algorithms and calculating Big O notation - Algorithm choice based on scalability and efficiency requirements
B.2.4.2 Linear vs Binary Search
Construct and trace algorithms to implement a linear search and a binary search for data retrieval. - The differences in efficiency between different methods of linear and binary search - Use of search technique based on efficiency requirements—for example, searching a database for a sorted/indexed list of names to find a phone number, versus searching by the number to identify the name
B.2.4.3 Bubble & Selection Sort
Construct and trace algorithms to implement bubble sort and selection sort, evaluating their time and space complexities. - The time and space complexities of each algorithm, denoted by their respective Big O notations - The advantages and disadvantages of each algorithm in terms of efficiency across various data sets
B.2.4.4 Recursion: Concepts & Apps
Explain the fundamental concept of recursion and its applications in programming. (HL only) - The fundamentals of recursion and its advantages and limitations - The utility of recursion in solving problems that can be broken down into smaller, similar subproblems - Recursive algorithms, including but not limited to quicksort - The limitations of recursion, including complexity and memory usage - Situations that best suit the use of recursion, including fractal image creation, traversing binary trees, sorting algorithms
B.2.4.5 Simple Recursive Algorithms
Construct and trace recursive algorithms in a programming language. (HL only) - Simple, non-branching recursive algorithms in programming only