- 博客(16)
- 收藏
- 关注
原创 数据结构常规面试题(三玖天下第一)(三)
满二叉树指的是树中除叶子结点外,每个节点都有两个子节点,并且所有的叶子节点处同一层级。完全二叉树除最后一层外都需要填满,不强制每个非叶子结点都具有两个子节点,当最后一层不满时,必须最下层节点集中到该层的最左段。
2024-06-24 23:50:32 181
原创 数据结构常规面试题(三玖天下第一)(二)
头节点和头指针是链表数据结构中的表示,头结点是一个链表结构实体的一部分,但是不存数据或者有时存储数据但是没有意义,head node只为了简化操作而存在,有了头结点,第一个真正的节点就是head->next。是指向链表第一个节点的指针,,主要作用是标识链表的起始位置。通过头指针就可以遍历所有的节点。即使是个空链表,头指针也存在,只是指向了null。
2024-06-24 13:34:57 920
原创 数据结构常规面试题(三玖天下第一)(一)
链表是一种在物理内存上不连续的数据结构,其数据元素在逻辑上是线性有序的,每个节点包含元素本身的数据和指向下一个节点的指针。链表通过节点中存储的指向下一个节点的指针来实现节点之间的顺序结构,这使得他能在运行时动态的增加或者删除节点,且不需要分配固定的内存。链表主要分为单向链表(包含指向后一个结点)、双向链表(包含指向前一个节点和后一个节点)、循环链表(头尾相连)、双向循环链表(头尾相连,可以指向前或后)、静态链表(数组模拟链表的行为)链表可以用于动态内存管理(实现内存池)、实现队列和栈等抽象数据类型。
2024-06-23 18:12:50 946
原创 操作系统常规面试题(三玖天下第一)(三)
虚拟内存通过将物理内存(ARM)和硬盘空间相结合,来扩展程序可用的内存容量,提供一种地址空间的抽象,来提高系统的灵活性和稳定性。他通过地址空间扩展、进程虚拟内存隔离、进程间内存区域共享、预分配虚拟内存等方式来提升系统的灵活性。物理内存是有限的,虚拟内存使得在物理内存不足的条件下运行需要更多内存的程序,同时通过内存数据硬盘转移的方式可以避免因为物理内存耗尽而产生的系统崩溃现象。虚拟内存简化了程序编写难度,我们不需要考虑物理内存的分布,可以编写大地址的代码,提高编程的效率和可一致性。
2024-06-22 13:12:08 877
原创 操作系统常规面试题(三玖天下第一)(二)
锁是用于同步多个线程或进程访问共享资源的一种机制,他确保同一时间只有一个线程可以执行受保护的资源区域的代码段,从而防止出现竞争状态和数据紊乱。基于数据在大部分时间不会发生并发冲突的前提下,因而在操作数据时不是直接加锁,而是在数据提交更新时检查数据是否被其他事务(原子层面的数据库操作)修改过。通过版本号和时间戳控制。他相对于悲观锁减少了加解开销,提高了系统的并发性。但是在高并发时,频繁的检查数据又会降低效率。基于数据在大部分时间会发生冲突的前提下,因而在操作数据时直接加锁,防止其他事务修改。
2024-06-21 21:58:28 807
原创 操作系统常规面试题(三玖天下第一)(一)
协程是一种程序组件,被视为轻量化的线程,在线程内部实现多个控制流的并发执行,协程的控制比线程的细粒度更高。1.调度控制:线程的控制由操作系统内核控制,而协程的调度在用户态完成,有程序自身管路。2.资源消耗:协程不需要操作系统进行管路,创建和销毁比现成更廉价,协程的栈远小于线程。3.并行并发:线程在多核上可以实现并行,而协程用于并发管理,宏观上的同时,微观上的顺序。4.阻塞非阻塞:当线程被阻塞,整个线程被阻塞,而协程被阻塞们可以使用领一个协程。5.同步机制:协程运行于线程,不需要锁。
2024-06-21 01:47:09 657
原创 RK3566芯片MobaXterm远程VNC配置
中间过程如果出现:waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2715 (unattended-upgr)… 173s。
2024-06-11 22:30:47 302
原创 Ubuntu下conda环境配置踩坑
在这个时候如果conda activate rknn激活rknn环境安装pip软件包的话,pip安装的软件包不会保存在rknn这个环境下,这是因为rknn的外层是base,相当于在base中。了一层rknn,因此pip安装的包在rknn环境下执行pip list,不会显示安装的包,在ubuntu22.04虚拟机中配置conda环境时,正常情况下会直接进入到base环境。这样再次打开终端就不会直接进入base环境了。
2024-06-11 21:50:19 300
原创 RK3566泰山派界面根目录文件制作(四)
根文件系统写入,只需要写入栏即可,有时可能发生写入错误,此时可以通过写入解决问题。写入完成后重启开发板,通过USB链接开发板,测试ADB远程连接。通过df -h查看各个部分的文件内存。
2024-06-10 15:08:09 264
原创 RK3566泰山派界面根目录文件制作(三)
其中ubuntu22.04-whole.tar.gz和ubuntu-base-22.04.4-base-arm64.tar.gz两个压缩包是运行shell自动下载,ubuntu-jammy.img是rootfs根目录镜像。binary是编译完成后的开发板中的根目录系统文件,这个镜像中包含了adb调试工具和wifi驱动以及可视化界面。
2024-06-10 15:07:48 676
原创 RK3566泰山派界面根目录文件制作(二)
文件解压后会发现在当前文件夹下没有任何文件,这是因为解压得到的是一个名为.repo的文件,默认是隐藏的,执行:.repo/repo/repo sync -l -j88 会将文件同步出来。其中下面这段代码定义了可以使用./build.sh XX编译的可选项,如果选择使用根目录编译,那么可以不全部编译,只编译kernel,最终编译生成的镜像在rockdev文件夹中。立创镜像文件下载完成后出现以下四个文件,将两个压缩文件复制到ubuntu22.04虚拟机中,解压。单编译执行kernel。
2024-06-10 15:07:33 684
原创 windows环境下使用单GPU训练pyskl下的模型
由于numpy的原因,会存在版本冲突,np.int在最先的版本中改为了int,降低numpy版本会导致scipy冲突,因此建议将sample.py中所有的np.int替换为int,同时np.int64无需更改。这是因为编码格式的问题,修改C:\ProgramData\Anaconda3\envs\pyskl\lib\site-packages\mmcv\utils\env.py文件。这个不是是train的主要代码,使用了mmcv的分布式训练代码,需要替换。这是因为yapf包版本太新了,降低为0.40.1。
2024-01-15 13:46:05 937 14
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人