Освоение AQA по информатике. Статья 1. Раздел B: Подробное руководство.

  1. Пузырьковая сортировка.
    Пузырьковая сортировка – это простой алгоритм сортировки, который многократно проходит по списку, сравнивает соседние элементы и меняет их местами, если они расположены в неправильном порядке. Вот пример кода на Python:
def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
    return arr
  1. Двоичный поиск.
    Двоичный поиск – это эффективный алгоритм поиска элемента в отсортированном списке. Он работает путем многократного деления интервала поиска пополам. Вот пример кода на Java:
public int binarySearch(int[] arr, int target) {
    int low = 0;
    int high = arr.length - 1;
    while (low <= high) {
        int mid = (low + high) / 2;
        if (arr[mid] == target)
            return mid;
        if (arr[mid] < target)
            low = mid + 1;
        else
            high = mid - 1;
    }
    return -1;
}
  1. Быстрая сортировка.
    Быстрая сортировка – это широко используемый алгоритм сортировки, основанный на принципе “разделяй и властвуй”. Он работает путем выбора опорного элемента и разделения других элементов на два подмассива в зависимости от того, меньше они или больше опорного элемента. Вот пример кода на C++:
int partition(int arr[], int low, int high) {
    int pivot = arr[high];
    int i = (low - 1);
    for (int j = low; j <= high - 1; j++) {
        if (arr[j] < pivot) {
            i++;
            swap(arr[i], arr[j]);
        }
    }
    swap(arr[i + 1], arr[high]);
    return (i + 1);
}
void quickSort(int arr[], int low, int high) {
    if (low < high) {
        int pi = partition(arr, low, high);
        quickSort(arr, low, pi - 1);
        quickSort(arr, pi + 1, high);
    }
}
  1. Поиск в глубину (DFS).
    DFS — это алгоритм, используемый для обхода или поиска в графовой или древовидной структуре данных. Он исследует, насколько это возможно, каждую ветвь, прежде чем вернуться назад. Вот пример кода на Python:
def dfs(graph, start):
    visited = set()
    stack = [start]
    while stack:
        vertex = stack.pop()
        if vertex not in visited:
            visited.add(vertex)
            stack.extend(graph[vertex] - visited)
    return visited

Освоение AQA Computer Science Paper 1, раздел B уже в пределах вашей досягаемости! Познакомившись с различными алгоритмами и примерами кодирования, такими как пузырьковая сортировка, двоичный поиск, быстрая сортировка и DFS, вы будете хорошо подготовлены к экзамену. Не забудьте попрактиковаться в реализации этих методов на предпочитаемом вами языке программирования, чтобы закрепить свое понимание. Удачи!