- Пузырьковая сортировка.
Пузырьковая сортировка – это простой алгоритм сортировки, который многократно проходит по списку, сравнивает соседние элементы и меняет их местами, если они расположены в неправильном порядке. Вот пример кода на 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
- Двоичный поиск.
Двоичный поиск – это эффективный алгоритм поиска элемента в отсортированном списке. Он работает путем многократного деления интервала поиска пополам. Вот пример кода на 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;
}
- Быстрая сортировка.
Быстрая сортировка – это широко используемый алгоритм сортировки, основанный на принципе “разделяй и властвуй”. Он работает путем выбора опорного элемента и разделения других элементов на два подмассива в зависимости от того, меньше они или больше опорного элемента. Вот пример кода на 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);
}
}
- Поиск в глубину (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, вы будете хорошо подготовлены к экзамену. Не забудьте попрактиковаться в реализации этих методов на предпочитаемом вами языке программирования, чтобы закрепить свое понимание. Удачи!