- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 算法分析与设计
算法概述算法输入输出确定性有限性可行性算法与程序的区别算法的渐进复杂性时间复杂性OOO 渐进上界Ω\OmegaΩ 渐进下界Θ\ThetaΘ 确界空间复杂性规模与复杂性lognlognlogn, nnn, nlognnlognnlogn, n2n^2n2, 2n2^n2n, n!n!n!渐进复杂性的运算对减法和除法不满足算法的实现数据结构数组与链表栈与队列集合字典图与树排序冒泡排序无序部分小的元素向前移动直
2024-04-26 17:15:04 640
原创 Unity学习笔记
1.UnityLifeCycle初始阶段(Awake OnEnable Start) 物理阶段(FixedUpdate) 输入阶段(OnMouseEnter OnMouseExit OnMouseOver OnMouseDown OnMouseUp) 逻辑阶段(Update LateUpdate) 场景渲染阶段(OnBecameVisible OnBecameInvisible) 结束阶段(OnDisable OnDestroy OnApplication...
2022-01-16 14:17:16 2286
原创 C语言与x86汇编
数据格式C声明 占用字节 汇编代码后缀 char 1 b short 2 w int 4 l long 8 q char* 8 q 寄存器(x86)程序计数器(PC) 条件码寄存器(比如CF、ZF、SF、OF) 整数寄存器(16个)寻址模式x86指令数据传送指令mov movz movs 入栈出栈 push pop 算术和逻辑操作 加载有效地址 leaq 一元操作 in..
2021-10-17 21:18:52 441
原创 银行家算法
对于每种资源类型有多个实例的系统,资源分配图算法不再使用(不能简单的通过是否是否有环来判断是否出现死锁)。这时,可以考虑银行家算法。目录数据结构安全算法资源分配算法数据结构进程数量 n 资源种类 m 每种资源的可用数量 Available[m] 每个进程需要资源的最大数量 Max[n][m] 每个进程已经分配的资源数量 Allocation[n][m] 每个进程还需要的资源数量 Need[n][m]安全算法记录当前可用资源数量 Work[m] 记录有哪些进程可以获得
2021-09-16 20:14:10 562
原创 图的实现
说明只保留顶点的索引号,而不需要知道任何与顶点相关的信息。因此,使用一个数组表示点集。 使用一个数组mark来记录每个顶点是否被访问过,用来实现图的遍历,最小生成树算法和最短路径算法。 图的邻接矩阵表示法中,用一个二维数组matrix表示边的权重。如果边不存在,则权重为0。如果边存在,则权重大于0。 图的邻接表表示法中,有一个长度为|V|的数组,数组中第 i 个元素存储指向顶点 i 的所有边构成的链表。链表的节点存储边的信息,由于边的起点已知,只需要存储边的终点和权重即可。邻接矩阵表示法Gr
2021-09-13 17:08:10 382
原创 进程同步问题
协作进程需要解决通信和同步问题。在生产者消费者模型中,通信可以通过共享内存的方式实现,同步可以通过信号量的方式实现。第一次尝试--声明一个长度为n的共享内存,但只能使用其中n-1个空间缺点--n个空间没有用满#include<pthread.h>#include<stdio.h>#include<stdlib.h>#include<unistd.h>/*声明一个长度为 n 的数组,但只能使用其中 n-1 个空间*/...
2021-09-12 22:22:35 156
原创 CPU调度算法
目录先来先服务调度(First-Come-First-Served, FCFS)最短作业优先调度(Shortest-Job-First, SJF)优先级调度(Priority-Scheduling, PS)轮转调度(Round-Robin, RR)先来先服务调度(First-Come-First-Served, FCFS)非抢占(FCFS)最短作业优先调度(Shortest-Job-First, SJF)非抢占(nonpremptive_SJF) 抢占(prempti..
2021-09-08 12:14:10 566
原创 C语言实现队列
顺序队列 对于一般的数组(数列不是循环的),当插入一个元素到数组末尾后,就不能插入新的元素了。 如果假定数列是循环的(可以通过控制下标做到这一点),就可以解决上述问题。 但是,循环数组会引入新的问题,那就是无法判断数组是空的还是满的,因为两种情况下队首和队尾的相对位置是相同的。 解决的办法有很多,其中一种思路是,让队列在空和满两种情况下,队首和队尾的相对位置不同。设置一个长度为n+1的数组,但是只存储n个元素。#inc...
2021-08-28 17:32:44 219
原创 C语言实现栈
1、顺序栈#include<stdio.h>#include<stdlib.h>typedef struct{ char *studentID; char *studentName; char *sex; int age; char *class;}DataType;typedef struct{ int size; // 栈大小 int top; //
2021-08-28 15:25:12 80
原创 C语言实现表
1、线性表#include<stdlib.h>#include<stdio.h>// 可根据需要自定义数据类型typedef struct{ char *studentID; char *studentName; char *sex; int age; char *class;}DataType;typedef struct{ int maxSize;
2021-08-21 20:38:29 2371
原创 C语言实现矩阵
#include<stdlib.h>#include<stdio.h>#include<math.h>typedef struct{ int row; // 行 int col; // 列 float **matrix; // 元素}matrix;void create(matrix *m, int row, int col); // 创.
2021-08-19 15:14:30 12576 2
原创 ASM
预备知识--1、内存的编排,内存编号为什么从0开始--电路上的限制2、cpu怎么访问内存--地址线(决定寻址能力)、数据线(决定一次传送多少字节)、控制线(控制计算机各个部件)3、cpu怎么访问外围设备--IO port、DMA(Direct Memory Access)4、在内存中,指令和数据没有任何区别,都是二进制信息,只有在CPU工作时才加以区别cpu怎么区分指令和数据--CPU将cs:ip所指向的内容当作指令来执行,将ds:[偏移地址]指向的内容作为数据,将ss:sp作为栈顶5、物理地址
2021-08-11 17:56:52 167
原创 sympy
# -*- coding: utf-8 -*-"""Created on Wed Jul 28 12:13:50 2021@author: ycl"""from sympy import *# =============================================================================# # 表达式求值# x = Symbol("x")# fx = x**2# res = fx.evalf(subs={x:6})#.
2021-08-10 11:00:09 161
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人