- 博客(19)
- 收藏
- 关注
原创 操作系统特征
摘要:操作系统具有四个基本特征:1)并发性,指多个程序宏观上同时运行,微观上交替执行;2)共享性,资源可被多个进程共同使用,包括互斥共享和同时共享两种方式;3)虚拟性,通过空分复用和时分复用技术将物理实体转化为多个逻辑实体;4)异步性,进程执行因资源限制而具有不可预测性。这些特征相互关联,其中并发性是最基础的特征。
2025-11-24 18:25:48
427
原创 用Unity复刻童年经典游戏—愤怒的小鸟
Header("地图卡片UI")]/// 初始点击时生成的关卡列表变量托拽赋值如下事先准备一个LevelListPrefab预设体用来动态创建加载每一关的的信息//记录所有类型的小鸟名字//显示小鸟数量//这里需要考虑鸟的数量为0时将遮罩盖住并且将按钮禁用//按钮的遮罩//存放所有小鸟的精灵//存放所有鸟的精灵//选择框的精灵//开始按钮的遮罩//选择框存放的小鸟字段赋值如下。
2025-11-20 11:01:01
1013
原创 操作系统概念
操作系统是管理和控制计算机硬件资源的基础系统软件,负责合理调度工作和分配资源,为用户及其他软件提供运行环境与接口。它通过程序接口实现系统调用功能,但普通用户无法直接使用这些接口,只能通过程序代码间接调用。操作系统作为计算机系统的核心,起着承上启下的关键作用。
2025-11-19 17:02:45
149
原创 Unity的Transform类
从子对象中找到某个对象(可以找到非激活的对象)游戏对象的世界坐标以(0, 0, 0)为原点。6.localRotation 本地四元数。10.Translate 朝给定的方向平移。该对象的前方(本地坐标系z轴的指向)5.rotation 相对世界四元数。15.root 该游戏对象的根对象。使游戏对象Z轴朝向给定的点。绕给定的点和给定的轴旋转。本地坐标,相对父物体坐标。
2025-01-13 21:04:45
367
原创 数据结构 ━ 堆
堆(heap)分为二叉堆、二项式堆、斐波那契堆,堆是非线性数据结构,相当于一维数组,有两个直接后继。堆又被称为优先队列,尽管名为优先队列,但堆并不是队列。因为队列遵循First in, First out,但是堆是按照元素的优先级取出元素。所以“堆”是实现调度器的理想数据结构。堆排序与快速排序、归并排序一样都是时间复杂度为O(N*logN)的排序方法。
2024-11-03 20:09:12
711
原创 排序算法 ━ 进阶篇
思想(递归):选取一个基准数,把小于基准数的数放在左边,大于基准数的数放在右边,然后分别对左右的数重复该操作,直到整个序列变成有序的循环条件:L < R1.选取基准数val = arr[L]2.从R开始找第一个 < val的数,放到L的位置,L++3.从L的位置开始往后找第一个 > val的数,放到R的位置,R--4.对基准数两边的序列重复以上操作快速排序优化:1.随着快排算法执行,数据越来越趋于有序,在一定范围内,可采用插入排序代替。
2024-10-29 11:44:42
801
原创 排序算法 ━ 基础篇
插入排序的效率最好,尤其是在数据已经趋于有序的情况下,采用插入排序效率最高。一般中等数据量的排序都用希尔排序,选择合适的增量序列,效率就已经不错了,如果数据量比较大, 可以选择高级的排序算法,如快速排序。
2024-10-28 20:52:29
994
原创 二分搜索查找元素
二分查找算法(Binary Search Algorithm)是一种在有序数组中查找特定元素的搜索算法。它的基本思想是将目标值与数组中间元素进行比较,如果目标值等于中间元素,则查找成功;如果目标值小于中间元素,则在数组的左半部分继续查找;如果目标值大于中间元素,则在数组的右半部分继续查找。通过这种“折半”的方式,每次查找都将搜索范围缩小一半,从而提高查找效率。
2024-10-28 12:45:10
513
原创 数据结构之队列
队列是一种操作受限的线性表,队列只允许在表的一端进行插入,在表的另一端进行删除。可进行插入的一段称为队尾,可进行删除的一端称为队头。队列的主要特点就是先进先出。依照存储结构可分为:顺序队和链式队。
2024-10-26 21:51:41
914
原创 双向循环链表的实现
特点: 每一个节点除了数据域,还有next指针域指向下一个节点,pre指针域指向前一个节点 头节点的pre指向末尾节点,末尾节点的next指向头节点。构造函数与双向链表不同的是,需要将p->next->pre指向头结点,并且循环结束条件是p!构造函数与双向链表不同的是,需要将头结点的next指向头结点,头结点的pre指向头结点。除了循环结束条件(p!= this->head) ,其他和双向链表一致。= this->head) ,其他和双向链表一致。尾插元素不需要找尾结点,头结点的pre就指向尾结点。
2024-10-24 13:21:21
363
原创 单向循环链表的实现及相关算法
先让头结点指向p->next,再回收p指向的结点内存,回收完后,将p重新指向头结点的下一个结点,循环该过程,直到p指向头结点,退出循环后最后回收头结点指向的内存空间。创建一个新结点,将该结点的next指向头结点的next,头结点的next指向新结点,还需要判断原来的链表存不存在有效结点,不存在的话需要将尾结点重新更新指向成tem。创建一个新结点,用指针tem维护,将该结点的next指向头结点,将之前的尾结点的next指向新结点,并更新尾结点的指向为tem。
2024-10-24 13:18:01
802
原创 单向链表的理解及相关算法
让p指向头结点的下一结点,并将链表头结点置空,q指向p->next,遍历链表,先将p->next保存在q中,再将其头插到head中,将保存的地址q重新赋值给p,循环上述过程,直到p指向nullptr退出循环,完成了单链表逆序。先创建一个指针指向头结点,遍历链表,让头节点指向它的下一个结点,回收p指向的内存空间,此时p就成了野指针,需要将其重新指向头结点,直到p为nullptr时,循环结束。这里删除后,不直接return,而是将p重新指向q指向的结点的下一个结点,否则p为野指针,继续操作会导致程序崩溃。
2024-10-24 13:13:06
551
原创 动态数组的实现及相关算法
创建两个指针,p指向首地址,q指向数组尾元素地址,交换二者的值,之后,p向右移动一个元素位置,q向左移动一个元素位置,循环上述过程,直到p越过了q,循环结束,此时完成了逆序。循环以上过程,直到p越过了q,循环结束,最终所有值为value的元素在数组的最左边,p地址往后的元素里就没有值为value的元素了,返回该地址。也是一样,先判断传入位置的有效性,再将该位置往后的所有元素向前挪动一个位置,此时被删除的元素被后面的元素所覆盖掉了,容纳数减一。创建两个变量,p等于数组首索引值,q等于数组尾索引值。
2024-10-24 13:08:50
628
原创 栈的理解及相关算法
栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。栈顶(Top):线性表允许进行插入删除的那一端。栈底(Bottom):固定的,不允许进行插入和删除的另一端。空栈:不含任何元素的空表。栈又称为后进先出(Last In First Out)的线性表,简称LIFO结构。
2024-10-24 13:02:25
2218
1
原创 线性表的基础概念及其相关算法
本文章将会阐述动态数组、链表的实现过程以及相关的算法线性表,数据结构中最简单的一种存储结构,专门用于存储逻辑关系为"一对一"的数据。线性表,基于数据在实际物理空间中的存储状态,又可细分为顺序表(顺序存储结构)和链表(链式存储结构)。是数据结构的基础。
2024-10-19 21:13:27
1774
原创 数据结构与算法的基本概念
算法是特定问题求解步骤的描述,在计算机中表现为指令的有限序列,算法是一种独立存在的解决问题的思想和方法对于算法而言,编程语言不重要,重要的是思想。
2024-10-11 22:05:39
789
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅