摘要: 1. 概念 散列函数:将查找表中的关键字映射到表中某一位置的函数,记作\(Hash(key) = Addr\)。 冲突: 散列函数可能会把多个关键字映射到表中同一位置,这种情况就称为冲突。 好的散列函数能减少冲突,但是不能避免冲突。 冲突会导致查找效率下降,存储效率降低。 散列表: 散列表是根据关键 阅读全文
posted @ 2025-03-30 10:26 薛定谔的AC 阅读(91) 评论(0) 推荐(0)
摘要: 1. 排序的基本概念 排序的定义: 排序就是将一组数据元素按照某种关键字重新排列成有序序列的过程。 排序的分类: 按照排序过程的存储位置可以分为内部排序和外部排序 内部排序是将数据全部加载到内存中进行排序,适用于数据量比较小的场景。 外部排序是指数据量过大,无法一次性加载到内存中,需要借助外存进行排 阅读全文
posted @ 2025-03-29 16:33 薛定谔的AC 阅读(116) 评论(0) 推荐(0)
摘要: 1. 直接插入排序 核心思想: 每次取出待排序数组中的首元素,将其按关键字大小插入到前面的已排序序列中,直到所有元素都插入完毕。 实现代码(C语言): // 插入排序函数 void insertionSort(int arr[], int n) { int i, key, j; for (i = 1 阅读全文
posted @ 2025-03-29 15:36 薛定谔的AC 阅读(60) 评论(0) 推荐(0)
摘要: 1. 冒泡排序 核心思想: 冒泡排序是重复遍历待排序序列,比较相邻元素的大小并交换逆序的数组元素(如:若为升序遍历,则将满足\(a[i] > a[i + 1]\)的两个元素交换)。 每次遍历,都会将未排序数组中的一个元素放到未排序数组的末尾,变成已排序数组中的首元素,最多经过n - 1次排序后,数组 阅读全文
posted @ 2025-03-28 21:15 薛定谔的AC 阅读(29) 评论(0) 推荐(0)
摘要: 1.简单选择排序 核心思想: 从待排序数组中选择一个最小(或者最大)的元素,将选出的元素和待排序数组中的第一个元素进行交换。 重复操作1,n - 1次,数组排序完成。 实现代码(C语言): void selectionSort(int arr[], int n) { for (int i = 0; 阅读全文
posted @ 2025-03-27 20:57 薛定谔的AC 阅读(31) 评论(0) 推荐(0)
摘要: 1. 归并排序 核心思想: 分解,将待排序序列递归地分成两个子序列,直到每个子序列仅含有一个元素(此时天然有序)。 将两个有序子序列合并成为一个更大的有序序列,最终得到完整的有序序列。 实现代码(C语言): 递归实现归并排序的代码 void Merge(int arr[], int low, int 阅读全文
posted @ 2025-03-25 19:38 薛定谔的AC 阅读(45) 评论(0) 推荐(0)
摘要: 1. 比较排序算法 简单排序算法: 排序算法 最好时间复杂度 平均时间复杂度 最坏时间复杂度 空间复杂度 稳定性 原地排序 冒泡排序 \(O(n)\) \(O(n^{2})\) \(O(n^{2})\) \(O(1)\) 稳定 是 选择排序 \(O(n^{2})\) \(O(n^{2})\) \(O 阅读全文
posted @ 2025-03-25 13:40 薛定谔的AC 阅读(101) 评论(0) 推荐(0)
摘要: 1.为什么外部排序只能使用归并策略实现 外部排序:外部排序是指对超出内存容量的大规模数据进行排序的技术,由于数据量太大,无法一次性加载到内存中因此需要借助外部存储进行排序,如硬盘。 外部排序的核心目标是在内存有限的情况下,高效处理大规模数据,而归并排序能成为外部排序的首选策略,是因为它具有以下优势: 阅读全文
posted @ 2025-03-24 13:16 薛定谔的AC 阅读(130) 评论(0) 推荐(0)
摘要: 题目链接:P3385 【模板】负环 思路 负环模版题,套一个SPFA板子,判断一下每个节点进入队列的次数,当进入队列的次数大于等于n次时,表示当前节点迭代次数超过了n - 1次,即为存在负环。 代码 #include <bits/stdc++.h> using namespace std; #def 阅读全文
posted @ 2024-09-24 22:54 薛定谔的AC 阅读(87) 评论(0) 推荐(0)
摘要: 一、并发和并行 并发:同一时刻,多个指令在单个CPU上交替执行。 并行:同一时刻,多个指令在多个CPU上同时执行。 二、多线程的实现方式 1. 继承Thread类的方式进行实现。 public class ThreadDemo { public static void main ( String[] 阅读全文
posted @ 2024-09-23 21:44 薛定谔的AC 阅读(55) 评论(0) 推荐(0)