avatar
文章
35
标签
29
分类
3

Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About
WHAT AM I ?
搜索
Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About

WHAT AM I ?

栈和队列
发表于2024-09-23|学习笔记
栈的顺序存储实现1234567891011121314151617181920#define STACK_INIT_SIZE 80#DEFINE STACK_INCREMENT 10typedef struct{ elemtype *base; elemtype *top; int stacksize;//栈长度(有多少元素),不是sizeof}SqStack;Sqstack s;Status StackInit (Sqstack *s) //传入结构体指针变量{ if(!(s->base = (elemtype*)malloc(sizeof(elemtype)*STACK_INIT_SIZE))) //对于线性表,分配内存空间是给L直接分配,因为L自身的含义就是头指针的地址,并且线性表是多个结构体指针变量连起来的,而对于顺序栈来说,他只有一个正常的结构体,结构体里面才包含头尾指针,所有的操作都是在这个结构体内部,使用这一个结构体的成员变量完成的 return ERROR; s->top = ...
函数参数中有链表时,对&符号的理解与讨论
发表于2024-09-22|学习笔记
先说结论:L和 副本L 本身的地址是一个存储自身的地方,二者不同,但是这两个变量所储存的地址都是链表的头节点, 因此可以可以通过修改副本l->next来修改原l头节点的指向, 但是如果想要改变头节点自身的地址,如果不加&符号,那就相当于修改了副本l所储存的地址,原l不受影响 关键点:不要错误的以为 函数中的l->next 是由副本l记录的,实际上这个是由头结点记录的,副本l指向的地址实际上是记录了头结点的地址 L 和副本 L 本身是存储地址的变量: L 和它的副本 L 是两个不同的指针变量,它们本身(即 L 和副本 L)存在于不同的内存地址中。 但是,它们存储的值是相同的,都存储了链表头节点的地址(比如说地址 3)。也就是说,无论是 L 还是副本 L,它们指向的是同一个链表节点,这是链表头节点的地址。 2. L->next 是链表节点的成员: L->next 存储的是链表中下一个节点的地址。这个成员属于链表头节点,所以无论你是通过原始的 L 还是副本 L 来访问 L->next,你修改的都是同一个链表节点的 next 成员。 3. **修改 L ...
线性表
发表于2024-09-18|学习笔记
复习 各个循环次数相乘,内层为n,外层为log2n,所以答案是nlog2n 线性表的类型定义线性表是n个类型相同的数据元素的有限序列 存在唯一的第一元素/最后元素,除第一元素外,其他元素均有唯一后继,除最后元素外,其他元素都有唯一前驱 小记 : c++中引入了引用类型 & ,用法是 b = &a ,代表b引用a,二者共用储存空间,在传入参数的时候,直接传入实参即可,不用加取地址符 如swap(a,b),但是函数在定义的时候,要把形参定义为引用类型 如 void swap(&a,&b),让传入的实参直接被形参引用 顺序线性表的插入操作算法给三个参数,一个是sqlist类线性表地址&L,一个整数i代表要插入的位置,一个类型e代表要插入的数据 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950Status ListInsert(sqlist &L,int i,elementtype e)& ...
树和二叉树
发表于2024-09-18|笔记
二叉树的性质 n = n0 + n1 +n2 n0 = n2 +1 n-1 = n1 + 2*n2(总度数为n-1) 满二叉树: 满的 完全二叉树:现有的节点编号和满二叉树的一致 具有n个结点的完全二叉树的深度为 已知编号i,求双亲的编号?(完全二叉树) ​ i/2 向下取整 已知编号i,左孩子的节点是2i,右孩子是2i+1 二叉树的存储结构顺序存储结构 链式存储结构 n个结点的二叉树链式存储中,共有n+1个空指针域证明:n个结点的二叉树,除了根节点以外,其余的结点都有上一个双亲结点指来的指针,因此一共有n-1个指针域被利用,所以剩下了n+1个指针域为空 二叉链表缺点:很难找到双亲结点带双亲指针的二叉链表(三叉链表) 遍历二叉树遍历的递归算法 遍历的非递归算法先序遍历先序遍历:相当于第一次遇到元素就直接遍历 12345678910111213141516171819202122void PreOrder(BiTNode *root){ BiTNode *p,*node[MAX]; //p用来更新当前指向的 ...
数组广义表
发表于2024-09-18|学习笔记
123456//二维数组A[b1][b2]中元素Aij的起始地址为:LOC[i,j]=LOC[0,0]+(b2*i+j)  L//三维数组A[b1][b2][b3]中数据元素A[i][j][k]的起始地址为:LOC[i,j,k]=LOC[0,0,0]+(b2*b3*i+b3*j+k)*L 矩阵的压缩存储特殊矩阵上下三角矩阵:利用矩阵的特殊结构进行降维存储 对称矩阵:存在降维的下三角矩阵里,然后对称映射 稀疏矩阵 三元组表示:只存储非零元素的 行 列 值 代码实现 1234567891011121314#define MAXSIZE 12500typedef struct{ int i,j; //row and column ElementType e; //value}Triple_node;typedef struct{ Tripe_node [MAXSIZE+1]; int mu ,nu ,tu;}TSMatrix;TSMartix M; 矩阵的压缩存储三元组的转置普通方法:最后一列代表元素的值,不变——& ...
1…34
avatar
Edward Nygma
The RiddlerShow
文章
35
标签
29
分类
3
Follow Me
公告
This is my Blog
最新文章
LeetCode 146 LRU实现2025-11-05
Spring事务失效的情况,场景和解决办法 以及引出的Spring底层注入原理彻底分析2025-11-03
网关路由、统一鉴权与动态配置管理2025-10-30
SpringCloud 微服务——Nacos 与 OpenFeign 详解2025-10-30
JDK新特性2025-10-29
分类
  • 刷题笔记1
  • 学习笔记30
  • 笔记3
标签
CMake mySql 苍穹外卖 GORM 细节辨析 Lambda表达式 Java 方法引用 C++ 反射 LeetCode 微服务 MybatisPlus Spring事务 Docker Stream流 Golang 注解 JAVA 近世代数 SpringBoot STM32学习 数据结构与算法 golang AOP 悲观锁 OpenFeign Nacos 多线程
归档
  • 十一月 20252
  • 十月 20255
  • 九月 20258
  • 五月 20251
  • 四月 20251
  • 一月 20252
  • 十二月 20241
  • 十一月 20243
网站资讯
文章数目 :
35
本站总字数 :
86.4k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2025 By Edward Nygma
框架 Hexo|主题 Butterfly
搜索
数据库加载中