18、排序算法真题实战
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
🌺
17、考研必会的排序算法(下)
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
堆排序
归并排序
有梯子可以看简单动画
1、选择排序1234567891011121314151617181920void SelectSort(ElemType* A,int n){ int i,j,min;//min记录最小的元素的下标 for(i=0;i<n-1;i++) { min=i;//我们认为i号元素最小 for(j=i+1;j<n;j++)//找到从i开始到最后的序列的最小值的下标 { if(A[j]<A[min])//当某个元素A[j]小于了最小元素 { min=j;//将下标j赋值给min,min就记录下来了最小值的下标 } ...
16、考研必会的排序算法(上)
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、冒泡排序
2、快速排序
3、插入排序
有梯子可以看简单动画
1、排序排序算法分为交换类排序,插入类排序,选择类排序,归并类排序
交换类排序分为冒泡排序,快速排序(后面的408笔记有详细的)
2、冒泡排序简单来说,每次都会找到剩余元素最小的元素,并将它放到前面。(演示代码是找到最大元素放到最后,主要看算法怎么写,没什么太大区别。)
冒泡排序的基本思想是:从后往前(或从前往后)两两比较相邻元素的值,(若A[j-1]>A[j]),则交换它们,直到序列比较完。我们称它为第一趟冒泡,结果是将最小的元素交换到待排序列的第一个位置。
这么说可能不直观,直接看代码。
123456789101112131415161718192021void BubbleSort(ElemType *A,int n){ int i,j; bool flag; ...
15、考研必会的查找算法u0026考研真题实战
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、顺序查找
2、折半查找
3、二叉排序树原理及建树
4、二叉排序树删除
5、真题
1、顺序查找一个简单的加了哨兵的查找顺序表,上面是核心,下面是实践
123456int Search_Seq(SSTable ST,ElemType key){ ST.elem[0]=key; for(int i=ST.TableLen-1;ST.elem[i]!=key;i--); return i;}
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758#include <stdio.h>#include <stdlib.h>#include <ti ...
14、二叉树的建树和遍历u0026考研真题实战
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
🌺先画图,后再实战代码
本章需要掌握:
1、树、二叉树、满二叉树、完全二叉树
2、层次建树、先序遍历、中序遍历、后序遍历、层序遍历
3、真题
1、树(Tree)
树是一种逻辑结构,也是一种分层结构。n(n>=0)个结点的有限集。当n=0是空树;当n>0时①有且仅有一个根节点②n>1其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,每个集合又是一颗二叉树,称为跟的子树。
2、二叉树(BiTree)
满二叉树(是除最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树。)
完全二叉树(除最后一 层外,其它各层的结点数都达到最大个数。)
12345678910111213141516171819202122// function.h// Created by 41507 on 2022/11/9.//#ifndef INC_1_TRE ...
13、栈与队列u0026考研真题实战
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、顺序栈(初始化、栈空?入栈、出栈、栈顶元素)
2、顺序队列(初始化、队列空?入队、出队)
3、链队列
4、2019真题循环队列
1、顺序栈(初始化、栈空?入栈、出栈、栈顶元素)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879#include <stdio.h>#include <stdlib.h>#define MaxSize 50typedef int ElemType;typedef struct{ ElemType data[MaxSize];//数组 int top ...
12、单链表的删除和u0026考研真题实战
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、单链表删除i位置元素?
2、看考研真题,背一下?
3、考研真题2019
1、删除元素123456789101112131415161718//删除第i个位置的元素//删除时L是不会变的,所以不需要加引用bool ListDelete(LinkList L,int i){ LinkList p= GetElem(L,i-1);//拿到要删除结点的前一个结点 if(NULL==p) { return false; } LinkList q=p->next;//拿到要删除的结点指针 if(NULL==q)//当链表只有5个结点,删除第6个结点,出现这种异常情况时,避免程序崩溃 { return false; } p->next= ...
11、单链表的新建、查找
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、单链表怎么定义?
2、对单链表来说头插、尾插、查找(位/值)、插入i位置e操作代码。
1、头插、尾插、查找(位/值)、插入i位置e123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129#include <stdio.h>#include <stdlib ...
10、线性表代码实战
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、顺序表(静态分配)怎么定义?
2、打印PrintList、插入ListInsert、删除ListDelete、查找LocateElem
0、与408关联(大题)
会考到顺序表和链表,对表中内容进行操作
1、顺序表原理
什么是线性表?n个相同类型的元素组成的有序集合。
ai-1是ai的前驱,ai+1是ai的后继
2、顺序表初始化、插入、打印、删除、查找12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510 ...
9、数据结构概述
🌺博客汇总:🌃Summary And Schedule🌠
🌸考研相关内容汇总:考研Schedule&&Summary
🌼408王道C督学课程目录:《王道C语言督学班目录》
本章需要掌握:
1、逻辑结构是什么?存储结构是什么?
2、T(n)时间复杂度的简单计算
3、S(n)空间复杂度为O(1)代表什么?
0、与408关联(选择+大题)本章需要掌握:
部分卷子小题也会考到时间复杂
基本上考到数据结构大题都需要设计算法的时间复杂度
1、逻辑结构与存储结构逻辑结构(抽象的):数据元素之间的逻辑关系。有集合结构、线性结构、树形结构、图形结构。
存储结构(具体的):数据结构在计算机中的表示。有顺序存储、链式存储、索引存储、散列存储。
顺序存储
链式存储
优
随机存取
充分利用存储单元
元素占空间少
不会出现碎片现象
缺
只能使用整块的存储空间
需要额外的空间存放指针
会出现碎片现象
只能实现顺序存取
2、时间复杂度与空间复杂度算法:对特定问题求解步骤的描述
算法的特征:有穷、确定、可行、输入、输出
时间复杂度:所有语句 ...