【数据结构入门精讲 | 第九篇】考研408排序算法专项练习(一)

一次性搞懂排序算法,常用的排序算法总结 前言 今天对校招面试常问的排序算法,做个总结,如果觉得文章不错的话,希望点赞再看,谢谢!文末有福利哦,记得查看~ 前置知识 排序算法的稳定性 排序算法的稳定性是指:当输入元素中有两个元素的值相同时,排序后完成之后,这两个元素的前后位置是否发生了前后变化。 应用场景 1.订单排序 假设需要为用户按照时间顺序来展示订单, 相同时间点的订单按照订单金额顺序来展示。 实现上,可以先订单金额对订单排一次序, 再按时间对订单排一次序。 那么,这里排序算法的稳定性就体现用武之地了 假设按时间排序时不是稳定的,那么相同 阅读详情

前面几篇文章介绍的是排序算法,现在让我们开始排序算法的专项练习。

在这里插入图片描述

判断题

1.希尔排序是稳定的算法。(错)
解析:稳定性是指如果两个元素在排序前后的相对顺序保持不变,那么这个排序算法就是稳定的。对于具有相同关键字的元素,排序后它们的相对位置应该保持不变。

2.仅基于比较的算法能得到的最好的“最坏时间复杂度”是O(NlogN)。(对)

3.对N个记录进行归并排序,归并趟数的数量级是O(NlogN)。(错)
答案:O(logN)

4.对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。(错)
解析:当元素已经基本有序时,冒泡排序的时间复杂度会变得比较低,因为只需要进行少量的交换操作就可以将序列排好序。

5.插入排序算法在每一趟都能选取出一个元素放在其最终的位置上。 (错)
解析:每次插入操作只会将一个元素插入到已经排序好的子序列中,而不是所有元素都放到最终位置上。

6.对N个记录进行简单选择排序,比较次数和移动次数分别为O(N^2)和O(N)。(对)
解析:简单选择排序的基本思想是:每一轮从待排序的序列中选取最小的元素,将其与序列的第一个元素交换位置,然后在剩余的元素中继续寻找最小值,重复上述过程直到序列排好序为止。

7.对N个记录进行快速排序,在最坏的情况下,其时间复杂度是O(NlogN)。(错)
在最好情况和平均情况下,快速排序算法时间复杂性为O(NlogN);在最坏的情况下,其时间复杂度是O(N^2)

8.采用递归方式对顺序表进行快速排序,每次划分后,先处理较短的分区可以减少递归次数。(错)
解析:快速排序的性能与划分后两个子序列的大小无关,在最坏的情况下,仍然可能出现O(N^2)的时间复杂度。

9.空间复杂度:堆排序<快速排序<归并排序(对)

10.堆排序的时间复杂度为O(nlogn),空间复杂度为O(1)(对)

11.要从50个键值中找出最大的3个值,选择排序比堆排序快。(对)

12.计数排序是一个广泛使用的排序算法。对n个分布在[0, m]的整数进行计数排序,时间复杂度为 ()
A.O(m)
B.O(n logn)
C.O(n)
D.O(m+n)
选C

13.在简单选择排序过程中,关键字比较的次数与记录的初始排列次序无关。(对)

选择题

1.有组记录的排序码为{46,79,56,38,40,84 },采用快速排序(以位于最左位置的对象为基准)得到的第一次划分结果为:
A.{40,38,46,56,79,84}
B.{38,46,56,79,40,84}
C.{38,79,56,46,40,84}
D.{38,46,79,56,40,84}
选A,解析:

46,79,56,38,40,84
l                  r
因为以46为基准,所以l不动,对r进行分析
84大于46,所以不用动
接着r--,对应40
46,79,56,38,40,84
l              r
40小于46,所以将40替换46
40,79,56,38,——,84
l              r
接着l++
40,79,56,38,——,84
    l          r
l对应79,大于40,所以79替换到r的地方
40,——,56,38,79,84
    l          r
接着r--,对应38
40,——,56,38,79,84
    l       r
38小于40,所以38替换到l的地方
40,38,56,——,79,84
    l       r
接着l++ 
40,38,56,——,79,84
        l   r
l对应56,大于40,所以56替换到r处
40,38,——,56,79,84
        l   r
接着r--
此时l与r位置相同
所以不用替换,直接把基准值46填进去就行

2.使用快速排序算法对数据进行升序排序,若经过一次划分后得到的数据序列是 68, 11, 70, 23, 80, 77, 48, 81, 93, 88,则该次划分的枢轴是:
A.81
B.70
C.80
D.11
选A,解析:枢轴的左边比它小,右边比它大。

3.在基于比较的排序算法中,哪种算法的最坏情况下的时间复杂度不高于O(NlogN)?
A.冒泡排序
B.希尔排序
C.快速排序
D.归并排序
选D,上文讲过了。

4.在快速排序的一趟划分过程中,当遇到与基准数相等的元素时,如果左右指针都会停止移动,那么当所有元素都相等时,算法的时间复杂度是多少?
A.O(N)
B.O(NlogN)
C.O(logN)
D.O(N2)
选A,解析:指针停止就会不断交换左右指针的元素,这样虽然多余的交换次数变多,但让子序列的元素相对平均,所以一共有logN次划分,时间复杂度是O(N)。

5.对数据进行排序时,若采用直接插入排序而不采用快速排序,则可能的原因是
I. 大部分元素已有序
II. 待排序元素数量很少
III. 要求空间复杂度为O(1)
IV. 要求排序算法是稳定的
二者区别如下:直接插入排序是一种简单的排序算法,它的思想是将待排序序列分为已排序和未排序两部分,每次从未排序部分取出一个元素,插入到已排序部分的合适位置。快速排序是一种分治法的排序算法,它通过选择一个基准值,将序列划分为比基准值小和比基准值大的两部分,然后对这两部分进行递归排序。
直接插入排序是稳定的排序算法,相等元素的相对顺序不会改变。快速排序是不稳定的排序算法,相等元素的相对顺序可能会改变。
故本题选I、II、III、IV

6.采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是:
A.每次划分后,先处理较长的分区可以减少递归次数
B.递归次数与初始数据的排列次序无关
C.递归次数与每次划分后得到的分区处理顺序无关
D.每次划分后,先处理较短的分区可以减少递归次数
选C,解析:无论是先处理长分区还是先处理短分区,递归次数均不变。

7.选择一个排序算法时,除算法的时空效率外,下列因素中,还需要考虑的是:

  • I、数据的规模
  • II、数据的存储方式
  • III、算法的稳定性
  • IV、数据的初始状态
    答案:全选。

8.在快速排序的一趟划分过程中,当遇到与基准数相等的元素时,如果左指针停止移动,而右指针在同样情况下却不停止移动,那么当所有元素都相等时,算法的时间复杂度是多少?
答案:O(N^2)

比如说
1 1 1 1 1 1 1 1 .... 1 1 1(共n个)
  
i                        j
由于i不动,所以j一直左移,左移n-1次
第一次完成后变为
1 1 1 1 1 1 1 1 .... 1 1 1(共n个)
  i                      j
由于i不动,所以j一直左移,左移n-2次
由此一直递归
则次数为
n-1 + n-2 + n-3 + n-4 + n-5 + n-6 + ....

9.排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一“趟”。下列序列中,不可能是快速排序第二趟结果的是:
A.5, 2, 12, 28, 16, 32, 72, 60
B.5, 2, 16, 12, 28, 60, 32, 72
C.2, 16, 5, 28, 12, 60, 32, 72
D.2, 12, 16, 5, 28, 32, 72, 60
答案选A
解析

先按升序和降序排序
2 5 12 16 28 32 60 72
72 60 32 28 16 12 5 2

因为这题的答案趋势为小的数在左边,大的数在右边
所以我们将升序序列与答案作比较
经过两次快速排序之后,可能的是:
1.产生两个基准,第一个基准要不然在最左要不然在最右,剩下一个基准任意
2.产生三个基准,第一个基准在中间,剩下两个分别在两边

2 5 12 16 28 32 60 72
A(5, 2, 12, 28, 16, 32, 72, 60)
我们发现A选项有12、32与升序序列是对应的
可12和32都不在最左或最右,所以A错


接着看B
2 5 12 16 28 32 60 72
B.5, 2, 16, 12, 28, 60, 32, 72
我们发现B选项有28、72与升序序列是对应的
所以B可能对

看C
2 5 12 16 28 32 60 72
C.2, 16, 5, 28, 12, 60, 32, 72
C中有2、72是对应的,同理C可能正确

看D
2 5 12 16 28 32 60 72
D.2, 12, 16, 5, 28, 32, 72, 60
D中有2、28、32是对应的,同理D可能正确

10.设数组 S[ ]={93, 946, 372, 9, 146, 151, 301, 485, 236, 327, 43, 892},采用最低位优先(LSD)基数排序将 S 排列成升序序列。第 1 趟分配、收集后,元素 372 之前、之后紧邻的元素分别是:
A.485,301
B.301,892
C.236,301
D.43,892
基数排序是一种稳定的排序方法。由于采用最低位优先(LSD) 的基数排序,即第1趟对个位进行分配和收集的操作(按最低位进行排序),因此第一趟 分配和收集后的结果是{151, 301, 372, 892, 93, 43,485, 946, 146, 236, 327,9},元素372之前、之后紧邻的元素分别是301和892,故选B。

11.使用二路归并排序对含 n 个元素的数组 M 进行排序时,二路归并操作的功能是:
A.将两个有序表合并为一个新的有序表
B.将 M 划分为两部分,两部分的元素个数大致相等
C.将 M 划分为两部分,一部分元素的值均小于另一部分元素的值
D.将 M 划分为 n 个部分,每个部分中仅含有一个元素
选A,解析:二路归并排序(Two-way Merge Sort)是归并排序的一种常见实现方式。它将待排序序列不断地划分成两个子序列,然后对每个子序列进行排序,并最后将两个有序的子序列合并起来,从而得到完全有序的序列。

12.给定初始待排序列{ 15,9,7,8,20,-1,4 }。如果希尔排序第一趟结束后得到序列为{ 15,-1,4,8,20,9,7 },则该趟增量为:
A.1
B.4
C.2
D.3
选B,解析:序列中相距4个位置相对应的元素为{ 15,20 }、{ 9,-1 }、{ 7,4 }、{ 8, }。通过比较和交换操作,可将这些元素序列调整为{ 15,-1,4,8,20,9,7 }。

13.对于7个数进行冒泡排序,需要进行的比较次数为:
A.7
B.14
C.21
D.49
选C,解析:冒泡排序的比较次数可以通过以下公式计算:(n-1) + (n-2) + … + 2 + 1 = n*(n-1)/2,故本题比较次数为21。

14.对于10个数的简单选择排序,最坏情况下需要交换元素的次数为:
A.100
B.45
C.36
D.9
选D,解析:简单选择排序在最坏情况下,会经过n-1次选取最值,才能完成排序。

选择排序图示:

在这里插入图片描述
15.对一组包含10个元素的非递减有序序列,采用直接插入排序排成非递增序列,其可能的比较次数和移动次数分别是:

A.100, 100

B.54, 63

C.100, 54

D.45, 44

选D,解析:当元素均为逆序时,插入排序执行的比较和交换次数为n*(n-1)/2,但本题可以考虑有两个元素相同的情况,所以移动次数可以比45少1。

16.对初始数据序列{ 8, 3, 9, 11, 2, 1, 4, 7, 5, 10, 6 }进行希尔排序。若第一趟排序结果为( 1, 3, 7, 5, 2, 6, 4, 9, 11, 10, 8 ),第二趟排序结果为( 1, 2, 6, 4, 3, 7, 5, 8, 11, 10, 9 ),则两趟排序采用的增量(间隔)依次是:
A.5, 2
B.5, 3
C.3, 2
D.3, 1
选B,解析如下:在这里插入图片描述在这里插入图片描述

17.对N个不同的数据采用冒泡算法进行从大到小的排序,下面哪种情况下肯定交换元素次数最多?
A.从大到小排好的
B.元素无序
C.元素基本有序
D.从小到大排好的
选D,解析:当元素基本有序时,交换元素元素较少,冒泡排序交换次数较少。同理可知,当元素从小到大排好时冒泡排序处于最坏情况。

18.对于序列{ 49,38,65,97,76,13,27,50 },按由小到大进行排序,下面哪一个是初始步长为4的希尔排序法第一趟的结果?
A.97,76,65,50,49,38,27,13
B.49,13,27,50,76,38,65,97
C.49,76,65,13,27,50,97,38
D.13,27,38,49,50,65,76,97
选B,解析:按步长为4划分,则有{49,76},{38,13},{65,27},{97,50}
组内排序得到{49,76},{13,38},{27,65},{50,97}
故第一趟的结果为B

19.输入10^6个只有一位数字的整数,可以用O(N)复杂度将其排序的算法是:(桶排序)
解析:桶排序所需的时间复杂度为O(N)

20.若数据元素序列{ 12, 13, 8, 11, 5, 16, 2, 9 }是采用下列排序方法之一得到的第一趟排序后的结果,则该排序算法只能是:(归并排序)
A. 快速排序
B. 选择排序
C. 堆排序
D. 归并排序
解析:排除选择排序,因为选择排序后,最前面一定是最小的或最大的;排除快速排序,因为找不到枢纽值;排除堆排序,建堆后可看出不符合

21.在内部排序时,若选择了归并排序而没有选择插入排序,则可能的理由是:(3)
1 归并排序的程序代码更短
2 归并排序占用的空间更少
3 归并排序的运行效率更高

22.设有1000个元素的有序序列,如果用二分插入排序再插入一个元素,则最大比较次数是:
A.10
B.500
C.1000
D.999
选A,解析:2^10=1024>1000

23.对N个记录进行归并排序,空间复杂度为:O(N)(对)

24.令 n 表征问题规模,下列程序段的时间复杂度是( )。
x=0;
while((x+1)*(x+1)<=n^3)
x=x+1;
A.O(log n)
B.O(n^(3/2))
C.O(n^2)
D.O(n)
选B,x+1<=n^(3/2)

25.在这里插入图片描述解析:2^11=2048

26.在这里插入图片描述计数排序O(n),归并排序O(nlogn)
所以A

填空题

{46 79 56 38 40 84}以46为基准进行快速排序,则第一次的结果为?

46与84换 得到
84 79 56 38 40 46
接着左指针从84开始向右找比46大的数  右指针从46开始向左找比46小的数
故84与40换 得到
40 79 56 38 84 46
接着79与38换
40 38 56 79 84 46
现在两个指针都在56 不需要换
因此将46插入38后面即可得到第一次的结果

1.插入排序

排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置的方法称为:(插入排序)

2.另类选择排序

在这里插入图片描述

3.冒泡排序

本题要求用冒泡排序将一组整数按增序排序。冒泡排序每次从头到尾扫描待排序列,检查相邻两数的顺序,如果顺序不对就交换。请补全下列冒泡排序的代码。

typedef struct node *nodeptr;
struct node{
   int value;
   nodeptr next;
   /* 一些其他的项,在此忽略 */
};
 
nodeptr BubbleSort (nodeptr h)
{/* h 是带空头结点的链表的头指针 */
   nodeptr p, q;
   int flag_swap;
 
   if (!h->next)  return h;
   do{
      flag_swap = 0;
      p = h;
      while (p->next->next){
         if ( p->next->value>p->next->next->value (3分) ){
            flag_swap++;
            q = p->next;
            p->next=q->next (3分);
            q->next=p->next->next (3分);
            p->next->next=q (3分);
         }
         else p = p->next;
      }
   } while (flag_swap > 0);
   return h;
}

4.快速查找第K大元

本函数的功能是从有N个元素的线性表A中查找第K大的元素。函数的初始调用为Qselect(A, K, 0, N-1)。请完成下列填空。

ElementType Qselect( ElementType A[], int K, int Left, int Right )
{
    ElementType Pivot = A[Left];
    int L = Left, R = Right+1;
      
    while (1) {
        while ( A[++L] > Pivot ) ;
        ________________________
//填while ( A[--R] < Pivot )
        if ( L < R ) Swap( &A[L], &A[R] );
        else break;
    }
    Swap( &A[Left], &A[R] );
    if ( K < (L-Left) )
        return Qselect(A, K, Left, R-1);
    else if ( K > (L-Left) )
    ________________________
//填return Qselect(A, K-(L-Left), L, Right)
    else
        return Pivot;
}
中国大学MOOC-陈越、何钦铭-数据结构-2019夏期末考试 1-1对一棵平衡二叉树,所有非叶结点的平衡因子都是0,当且仅当该树是完全二叉树。(2分) F 1-2n!是O(n​^n​​)的。(2分) T 1-3若用平方探测法解决冲突,则插入新元素时,若散列表容量为质数,插入就一定可以成功。 F 1-4在任一有向图中,所有顶点的入度之和等于所有顶点的出度之和。(2分) T 1-5对N个不同的数据采用冒泡排序进行从大到小的排序,当元素... 阅读详情

相关推荐

【408】26考研-王道计算机408

【阶段划分与核心目标】📌基础阶段(当前-6月)学习资料唯一教材:王道系列视频+配套教材禁用自学教材(避免抓不住重点)辅助工具:打印王道知识框架(解决教材字体问题)核心任务全程跟随王道视频顺序,1.5倍速高效学习(每日≥1小时)专攻选择题:除已删除考点外,完成所有课后选择题标记错题:按科目分类记录错题与核心知识点(禁止抄书!笔记方法:边听课边在知识框架上补充关键细节【四科目差异化策略】科目学习重点优先级建议数据结构动手模拟代码过程(树/图遍历、排序算法)先学,培养逻辑思维。

Li的博客 2万+

排序算法之快速排序

简介         快速排序(QuickSort)是对冒泡排序算法的一种改进。         快速排序通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 基本思想        &n

qq_44290077的博客 616

【数据结构】【王道408】——PPT截图与思维导图

【数据结构】【王道408】——PPT截图与思维导图

网瘾中心呼唤爱的博客 9556

【校招】快速排序题解

快速排序是程序员入职笔试常考的题目:快排的核心思想就是:经过一趟交换排序,使得比基准小的数都在其左侧,比基准大的数都在其右侧。【例题|唯品会】一组记录的关键值为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录的关键值46为基准得到的一次划分结果为()。原式:46,79,56,38,40,84 1、基于原式,以46作为基准46  79  56  38  40  84    ...

Horace Ho的博客 4431

2021考研408数据结构 知识点汇总(参考王道书)【不断更新完善加强中...】

数据结构 第一章:数据结构的基本概念 定义 在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构(Structure)。数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三方面的内容:逻辑结构、存储结构和数据的运算。数据的逻辑结构和存储结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑结构,而算法的实现依赖于所采用的存储结构。 逻辑结构 逻辑结构是指数据元素之间的逻辑关系,即从逻辑关系上描述数据。它与数据的存储无关,是独立

Faye_Gu的博客 7090

计算机考研书籍

一、数据结构   严蔚敏、吴伟民编著:《数据结构(C语言版)》,清华大学出版社。   严蔚敏、吴伟民编著:《数据结构题集(C语言版)》,清华大学出版社。   陈守孔,胡潇琨,李玲编著:《算法与数据结构考研试题精析(第二版)》,机械工业出版社。   二、计算机组成原理   唐朔飞编著:《计算机组成原理》,高等教育出版社。   唐朔飞编著:《计算机组成原理学习指导与习题解答》,高等教育出版...

kalinux的博客 8344

交换排序:冒泡排序和快速排序

交换排序有冒泡排序和快速排序两种 冒泡排序: 从K1开始,依次比较两个相邻的关键字Ki和Ki+1。若Ki>Ki+1,则交换相应记录Ri和Ri+1的位置;否则,不进行交换。 经过这样一遍处理后,

weixin_45901312的博客 1458

【专栏必读】王道考研408数据结构+算法设计与分析万字笔记使用说明及章节导航

各位老铁思维导图在我整理完笔记后会放上去的,我需要根据王道的思维导图重新再做一遍 文章目录一:有关注意事项二:关于专栏三:学习建议四:各专栏导航(各位老铁别催,质量优先)(1)第一章:绪论(2)第二章:线性表(3)第三章:栈和队列第四章:串第五章:二叉树第六章:图 首先感谢王道大大(手动比心),很用心在做了,大家可以看其中两节是否符合胃口 (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序) (王道408考研数据结构)第五章树-第四节2:平衡二叉树(AVL)及其旋转 一:有.

快乐江湖的博客 5万+

【数据结构入门精讲 | 第十篇】考研408排序算法专项练习(二)

我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(

等风来 4824

2026年计算机考研408科目(计算机学科专业基础)设计的全年备考方案

通过以上规划,考生可系统性地攻克408四门科目,结合科学的每日安排与优质参考书,实现高效备考。如需获取完整书单或个性化建议,可参考京东图书“考试加油包”专题选购。:数据结构需手写代码(如二叉树遍历、快速排序),推荐使用LeetCode或PTA平台练习。:例如学习计组Cache时同步复习OS的虚拟内存管理,建立知识网络。:每月末进行知识点自测(如使用《王道章节测验》),调整复习节奏。:冲刺阶段避免盲目刷题,重视错题分析与回归教材。

weixin_73064319的博客 2万+

NHANES数据库实战:数据合并与加权分析技巧

本文详细解析了NHANES数据库实战中的核心技巧,重点阐述了数据合并与加权分析的正确方法。通过两个具体案例,手把手指导如何从数据下载、合并、权重计算到使用R语言survey包进行加权统计分析,避免因忽略复杂抽样设计而导致的研究偏倚,确保分析结果的准确性与可发表性。

weixin_29057065的博客 585

考研408复习思路,学习方法

前言:一战武大,408仅考了71分,后痛定思痛,深刻反思一战的教训。最终,21年二战总分393,408 117上岸复旦。 408是一门综合性比较强的学科,尤其是操作系统和计算机组成原理中知识点常常交织在一起,但侧重点也不尽相同。掌握一定的规律和方法就能比较轻松的取得不错的分数。 用到的书:王道四件套,严蔚敏的《数据结构》,黑皮书《计算机组成与设计 硬件/软件接口》,谢希仁的《计算机网络》。 目录总体的学习方法学习《数据结构》学习《计算机组成原理》学习《计算机网络》 总体的学习方法 大家可以把《王道》四本书

qq_36895225的博客 6万+

通讯接口应用笔记3:使用W5500实现Modbus TCP服务器

  前面我们设计实现了W5500的驱动程序,也讲解了驱动的使用方式。在最近一次的项目应用中,正好有一个使用W5500实现TCP通讯的需求,所以我们就使用该驱动程序轻松实现。这一篇中我们就来说一说基于我们W5500通讯驱动程序实现TCP通讯的过程。 1、应用需求   在本次应用中,要求实现一个基于W5500的Modbus TCP服务器。这个需求的描述虽然只有一句话,但是这个需求的内容可不简单。我们首先来分析一下这个需求的具体内容。   为了实现基于W5500的Modbus TCP服务器,我们必先须基于W550

木南创智 5500

【考研408数据结构-12】 内部排序算法:十大经典排序详解

本文系统梳理了考研408数据结构中的十大经典内部排序算法,从概念定义到代码实现全面解析。文章首先将排序算法分为插入类、交换类、选择类和其他类四大类,详细介绍了每种算法的核心思想、时间/空间复杂度及稳定性。重点对比了直接插入、希尔、冒泡、快速、堆排序和归并排序等高频考点算法,并提供了优化的C语言代码实现。文章特别强调408考试中的易错点,如快速排序的空间复杂度、堆排序的建堆时间等,帮助考生准确掌握各算法特性,为应对选择题和算法设计题做好充分准备。

专注后端技术架构,AI技术分享 1439

用LTspice仿真Buck电路输出电容:从参数计算到波形优化的全流程演示

本文详细介绍了使用LTspice仿真Buck电路输出电容的全流程,从理论计算到波形优化。通过解析关键参数如纹波电压、瞬态响应和ESR,结合工程计算方法和LTspice仿真技巧,帮助工程师优化Buck电路设计,解决输出纹波过大和瞬态响应不佳的问题。

night的博客 852

CMOS锁相环核心:四种鉴频鉴相器(PFD)结构深度剖析与选型指南

本文深入剖析了CMOS锁相环中四种鉴频鉴相器(PFD)的结构与性能,包括传统RS触发器型、非时钟型、预充电型和边沿触发型PFD。通过详细的电路分析、实测数据和工程案例,提供了PFD选型的实用指南,帮助工程师根据速度、功耗和精度需求选择最优方案,提升锁相环设计效率。

weixin_42530458的博客 588

22计算机408考研—数据结构—排序(详解加例题)

排序 排序的基本概念 顾名思义,给一个无序数组的值进行顺序存储 原数组:2 3 1 5 6 4 8 9 7 排序后:1 2 3 4 5 6 7 8 9 直接插入排序 思路: 插入 == 把数插进去 也是两层循环 数组num 第一层循环从下标为1的值开始,循环变量为i 第二层循环就是把第一层的值拿出来,然后从第i-1个向前循环,找到第一个小于num[i]的值, 这个值的下标如果是j-1的话,那么num[j]就是第一个大于num[i]的值 把num[i]用一个变量temp保存一下 把下标为j到i-1的值依次向

日常发呆 2万+

Claude Code与Codex深度对比:终端AI编程助手选型指南

大语言模型驱动的AI编程助手已成为开发者提效的重要工具,它们基于自然语言交互,自动完成代码生成、重构和调试。这类工具依赖上下文理解与工程实践,不同产品在交互模式、模型接入和任务执行上差异显著。从终端CLI编程场景出发,梳理AI编程助手的设计原理与技术价值,重点对比Anthropic Claude Code与OpenAI Codex在安装配置、上下文管理、第三方模型接入(如DeepSeek)以及高频报错处理上的实际表现。无论你是新手还是资深工程师,理解这些差异有助于根据自身工作流选择合适工具,或在两者间灵活切

weixin_33755649的博客 3244

考研408笔记总结~

考研408笔记总结 一.数据结构 二.计算机组成原理 三.操作系统 四.计算机网络

weixin_69884785的博客 2万+

从零到一:用AXI DataMover在Zynq MPSoC上实现高效DMA传输(附Vitis HLS驱动示例)

本文详细介绍了如何在Xilinx Zynq UltraScale+ MPSoC平台上使用AXI DataMover实现高效的DMA数据传输。通过解析AXI DataMover架构、Vivado工程配置、Vitis HLS驱动开发及性能优化技巧,帮助开发者快速构建高性能数据传输通道,并提供了可直接复用的代码示例。

weixin_42520796的博客 427

Matlab实现雷达波位编排

1 简介 %本程序用于雷达球坐标系到正弦空间坐标系的转换,以及相控阵雷达的波位编排。 2 完整代码 ​%070228添加波位数据保存clear allclose allclc%波束宽度,单位:度BeamWidth = 3.6;theta05 = round(sin(BeamWidth*pi/180)*1000)/1000;%雷达作用空域AZ = [-15 15]; %方位角范围(雷达球坐标系),单位:度EL = [0 30]; %俯仰角范围(雷

qq_59747472的博客 2479

【23考研】计算机408数据结构代码题强化阶段划重点(王道书)

本篇只适合考408的同学,请自主命题的同学自觉右上角×掉 因为王道书为了照顾自主命题的同学,所以很多算法也给出了代码实现,实际上对于考408的同学,很多代码是不需要掌握的,毕竟408的代码题没有像自主命题有些挖的那么深,那么难。对于顺序表,一般情况下不需要使用结构体包起来,直接使用数组就行 传参时只需传一个数组名,一个数组中元素个数就行了 2.2.2顺序表上的基本操作的实现p15 增删改查,此处查找指的是顺序查找单链表的话这个结构体就需要掌握了头插法(可以用于链表逆置),尾插法,单链表的遍历,插入结点,删除

无 1万+

Vibe Coding 工具实战案例全解:Cursor、Claude Code、Codex 真实项目 30 分钟到 4 小时快速构建指南(2026 年最新)

2026年VibeCoding工具实战案例精选:1)使用Cursor在30分钟内构建现代TodoList应用(Next.js+TS+Tailwind);2)通过ClaudeCode纯终端2小时开发3D飞行射击游戏(Three.js+R3F);3)利用OpenAICodex多Agent并行4小时完成SaaS全栈开发(Next.js+Supabase+Stripe)。案例均来自真实项目,覆盖从入门到生产级开发,重点展示:自然语言Prompt技巧、迭代反馈方法、工具特性对比(Cursor可视化最佳/Claude推

hy行者勇哥的博客 3180

2020考研计算机(408)考试大纲原文以及分析

2020.10.6 update:本文原来参照的是新东方考研和中公考研的文章,因为我当时只搜到了他们的,后来发现王道论坛也有,前两家给出的考纲变动基本上是一样的,王道的给出来的变动则多了一些内容: 数据结构:各种内部 排序算法的比较 计算机网络:IPV4增加路由聚集, 计算机组成原理:(一)计算机发展历程 ;微指令 命令的编码方式;新...

STCNXPARM的博客 5219

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

考研408数据结构高分突破:从知识点零碎到系统掌握的核心方法论

考研计算机专业课程408中,数据结构是最具挑战性且分值占比最高的科目之一。面对海量的算法、复杂的代码题和零散的知识点,很多考生往往陷入"学完就忘、做题不会"的困境。本文基于GitHub项目cs-408的实战经验,为你揭秘如何通过系统化的学习方法和高效的资源利用,在数据结构科目中实现从基础薄弱到高分突破的转变。 ## 🎯 核心挑战:为什么数据结构成为考研408的"拦路虎"? 数据结构的学习难点

gitblog_00174的博客 985

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

计算机考研408真题解析(2023-10 排序算法稳定性深度解析)

本文针对2023年计算机考研408真题中关于排序算法稳定性的考查,深入剖析了希尔排序、归并排序、快速排序、堆排序和基数排序的稳定性特性。通过C语言代码实现与测试,直观展示了不稳定排序算法的原理,旨在帮助读者透彻理解算法稳定性,并有效应对相关考题。

goodteacher408的博客 926

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: 【数据结构入门精讲 | 第八篇】一文讲清全部排序算法(2)
下一篇: 【数据结构入门精讲 | 第十篇】考研408排序算法专项练习(二)
秋说
秋说 优质创作者: 编程框架、信息安全技术领域 优质创作者: 编程框架、信息安全技术领域
博客等级 码龄4年 3万+粉丝 1906原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值