数据结构与算法
文章平均质量分 60
万事只有开头
如果学习不用来装逼,那将毫无意义!
展开
-
LeetCode - 4. 寻找两个正序数组的中位数
个元素一定是小于我们目标值的,因此可以排除这一段(如上图中灰色部分),在剩余元素中继续寻找第(3. 如果某个数组完全被排除掉了,则直接在剩余的另一个数组中定位目标元素即可。题目给出的条件都用上了,时空复杂度也得到了提升,但仍然不符合题目要求的。1. 如果k=1, 则首先比较两个数组首位元素,取最小的一个。(对于长度为偶数的情况,需要寻找两次,并取平均值)智谱清言给出了一种新的解法,划分数组二分法。合并成一个新数组,然后sort,取中位数。接下来,人生苦短,我用Python~个元素,较小的一个数组中的第1~原创 2024-10-26 19:20:21 · 616 阅读 · 0 评论 -
交换两个数的值
一、中间临时变量法void swap(int &a, int &b) { int temp = a; a = b; b = temp;}二、异或法交换变量在计算机刚发明时,内存非常“精贵”。这种变量交换往往是非常奢侈的。于是计算机“大牛”发明了一些算法来避免使用中间变量:void swap(int &a, int &b) { a = a ^ b; // 充当临时变量 b = b ^ a; // <=>原创 2021-03-15 11:53:43 · 137 阅读 · 0 评论 -
几种常见的排序算法及其时间复杂度——选择排序(三)
选择排序算法的原理,时间复杂度,以及算法的稳定性原创 2015-08-17 18:07:56 · 1028 阅读 · 0 评论 -
稳定排序和不稳定排序
转自——稳定排序和不稳定排序(博客园) 这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大转载 2015-08-18 09:59:40 · 1394 阅读 · 0 评论 -
几种常见的排序算法及其复杂度——冒泡排序(一)
这一系列文章将介绍算法时间复杂度的概念,以及常见排序算法的时间复杂度。原创 2015-08-05 17:23:10 · 4011 阅读 · 0 评论 -
几种常见的排序算法及其复杂度——快速排序(二)
快速排序(Quick Sort)及其时间复杂度原创 2015-08-06 13:52:52 · 3570 阅读 · 1 评论