数据结构与算法学习笔记
文章平均质量分 89
c/c++版实现
九土master
这个作者很懒,什么都没留下…
展开
-
[数据结构]内部排序
排序shell排序void ShellInsert(List &L,int n)//升序{ int k=n; for(k=n/2;k>=1;k/=2) { for(int i=k+1;i<n;i++) { int j=i-k; int x=L[i] while(j>0&&L[j]>L[i]) { L[j+k]=L[j]; j-=k; }//while L[j+k]=x; }//for原创 2021-06-03 11:53:28 · 717 阅读 · 2 评论 -
[数据结构]查找
查找线性查找折半查找分块查找二叉查找AVL平衡树定义左右子树都是平衡树(包括空),且左右子树高度差绝对值不超过1结点平衡因子BF:结点左子树与右子树之差,只能是-1,0,+1插入结点后,对最小不平衡经过平衡旋转处理之后的子树深度和插入之前相同,故不影响插入路径上所有祖先结点的平衡度。旋转处理后,要将根节点和相应子树根节点平衡因子改为0在平衡的二叉排序树BBST上插入新数据元素e的递归算法# define LH 1 //左高# define EH 0 //等高# define原创 2021-05-30 12:31:34 · 525 阅读 · 4 评论 -
图
图图的数据结构暂空图的表示常用有邻接表、邻接多重表、十字链表顺序存储——邻接矩阵为n*n矩阵,分有向图与无向图。无向图邻接矩阵关于主对角线对称,操作时需对对称位置一起操作。(邻接1,否则0)网的邻接矩阵中,邻接边赋权值,未邻接边赋值无穷(一般为自定义一个足够大的数)度:出度及入度分开(有向)#define INFINITY INT_MAX //及代表无穷的一个大数#define MAX_VERTEX_NUM 20 //图的最大的顶点个数typedef enum{DG,DN,UDG,原创 2021-04-24 16:32:49 · 388 阅读 · 0 评论 -
树和二叉树
树先捋一下用栈实现二叉树的先序、中序、后序遍历问题先序(入栈时即输出)对于一个结点p:1.输出,入栈。判断左孩子是否为空2.若不为空,则p=pL。返1。3.若为空,栈顶退栈,且p=pr。判断p是否为空:4.若p为空,则p=栈顶右孩子,栈顶退栈。返4.55.若p不为空,返16.直到p=NULL且栈为空。(ps:要先把根退栈,再遍历该根的右子树)while (p&&S&&(!isEmpty(S))){ visit(p); S.Push(P); if原创 2021-04-11 12:27:42 · 86 阅读 · 0 评论 -
数组和广义表
数组数组仍是特殊的线性表多维数组的地址运算。PASCAL中,有A(-2,8)[A[-2],A[8]]闭区间。数组的压缩处理特殊矩阵对称阵:n(n+1)/2,k=i(i-1)/2+j带状矩阵:所有非零元素都对称集中在主对角线附近,带宽为S,则一行有2S+1个元素。(非零端补齐)loc[i,j]=loc[1,1]+[(2s+1)*(i-1)+(j-i)]*L(i,j>=1)。(可以看作下一行i>j部分补齐到本行计算,每(2S+1)即跳过这些到这些后的loc[i,i]对角线。原创 2021-03-25 17:06:33 · 100 阅读 · 0 评论 -
队列和串
队列(FIFO)插入端:rear队尾删除端:front队头双端队列存储形式指针实现(设置头结点)数组实现(地址连续的存储单元)约定front和rear指针初始化建空队列时,front=rear=0非空队列中,头指针始终指向队列头元素,尾指针始终指向队列尾元素的下一个位置假溢出 - 移动队列- 循环队列插入元素:Q.rear = (Q.rear+1)%maxlength删除元素:Q.front = (Q.front+1)%maxlength问题:原创 2021-03-25 16:16:31 · 638 阅读 · 0 评论 -
栈结构
栈(LIFO)顺序存储多个栈共用一个存储空间则有对整个栈的操作应用判断括号匹配问题原创 2021-03-23 15:19:05 · 108 阅读 · 0 评论 -
线性表
线性表线性表的存储结构连续的存储空间(数组)非连续的存储空间——指针(链表)游标(连续存储空间+动态管理思想)线性表的指针实现(c)基本操作bug列表还没找#include <stdio.h>typedef int ElemType; //此处可以根据需要修改嗷typedef struct NODE{ ElemType *elem; int len; NODE* next; // c中不能在定义的时候初始化为NULL,故记得使用时初始化}NODE;ty原创 2021-03-18 22:28:38 · 103 阅读 · 0 评论