操作系统概念之-内核数据结构

本文介绍了内核数据结构中的基本概念,包括数组、堆栈、队列的进出方式,以及链表(单向、双向和循环链表)的应用。重点讨论了哈希函数与哈希表的原理,强调了它们在数据存储和查找中的作用。这是一篇梳理基础概念和技术的笔记。
摘要由CSDN通过智能技术生成

内核数据结构

(1)数组及堆栈与队列进出方式

对于1维的有序数据结构,自然就想到如何从两端列表两端增、减元素,从而提出了堆栈进出列表方式(这里的“堆栈”是一个词,异于前篇:的堆(heap)与栈(stack)的概念,虽然字相同,但内涵不同)
对于数组、队列这种典型的1维有序结构,在增、减元素时,要么Last In First Out, LIFO (一般是数组采用) 要么就是First In First Out(之所以称为队列)
数组、队列的元素在内存地址上是连续的,对于中间段的元素删、增就效率较低。为了改善这个问题,就提出了链表,当然链表数据结构存储每个元素的附加信息(如:元素与元素的关联特征)就会增加。

(2)链表

单向链表:在这里插入图片描述
双向链表:在这里插入图片描述
循环链表:在这里插入图片描述

(3)树

(4)哈希函数与哈希表(映射)

哈希映射
1)最简单的哈希表
每个元素存放的值=其下标,这句话也表达了hash_function,实际上应该称为“映射”
2)一般根据待存放数据集按照特征分类,如:0-n-1类,则哈希表的大小为n;
3)元素查找:首先根据哈希表的0-n-1类特征进行直接查找到分类,然后再去每个地址对应的链表查找具体的元素本身。

本笔记仅用于理清基本概念,无甚高深的知识和技能

主要参考文献:Abraham Silberschatz P B G, Greg Gagne. 操作系统概念[M]. 2018.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值