顺序表是线性表的实现方式之一,其特点是逻辑上相邻的元素在物理上也相邻。顺序表一般使用数组实现。因此顺序表可以随机访问,时 间复杂度为O(1)。但插入和删除元素时,由于线性表的有序性,要移动大量元素,时间复杂度为O(n). 本代码拟使用动态分配空间的方式存储顺序表元素。 一个顺序表结构类型如下: 1 ...
分类:
其他好文 时间:
2021-06-28 17:56:32
阅读次数:
0
一、简介与使用 自旋锁适用于用于保护短的代码段,通过spinlock_t数据结构实现,常用接口如下: 1) spin_lock 和 spin_unlock 2) spin_lock_irqsave 和 spin_unlock_restore: 获取锁的同时还会关中断 3)spin_lock_bh/ ...
分类:
系统相关 时间:
2021-06-13 10:55:26
阅读次数:
0
写在前面 仅供自用 ... Iterable 接口 在我的理解里面,如果数据结构实现了 Iterable 接口 那么 这个数据结构就是可迭代对象 当然实现这个的方法 就是 写一个迭代器工厂函数 [Symbol.iterator] 来生成一个含有 next(){} 和 return(){} 两个属性方 ...
分类:
编程语言 时间:
2021-03-06 14:36:01
阅读次数:
0
List(列表)简述 列表可以完成大多数集合类的数据结构实现 列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(嵌套) 列表是写在方括号[]之间、用逗号分隔开的元素列表 列表索引值以0为开始值,-1为从末尾的开始位置。列表可以使用+操作符进行拼接,使用*表示重复 初试牛刀 list_1 ...
分类:
编程语言 时间:
2020-09-17 20:09:55
阅读次数:
35
参考: https://blog.csdn.net/qq_41856733/article/details/83930252 ...
分类:
其他好文 时间:
2020-09-16 12:26:54
阅读次数:
36
管程 (Moniters,也称为监视器)一.管程的概念是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享资源。这些共享资源一般是硬件设备或一群变量。管程实现了在一个时间点,最多只有一个线程在执行管程的某个子程序。与那些通过修改数据结构实现互斥访问的并发程序设计相比,管程实 ...
分类:
其他好文 时间:
2020-08-13 22:11:41
阅读次数:
50
复数ADT(抽象数据类型, Abstruct Data Type) ADT Complex{ 数据对象 :{ e1, e2 | e1, e2(-R, R是实数集 } 数据关系 : { <e1, e2>| e1是复数的实部, e2是复数的虚部 } 基本操作 : create(&C, x, y) 操作结 ...
分类:
其他好文 时间:
2020-07-10 09:45:32
阅读次数:
95
一、什么是堆? 维基百科的解释是:堆是一种特别的树状数据结构,它需要满足任意的子节点必须都大于等于(最大堆)或者小于等于(最小堆)其父节点。 二、堆排序 堆排序是通过二叉堆数据结构实现,二叉堆满足一下两个特性: 1、满足对的基本特性 2、完全二叉树,除了最底层外,其它层都已填充满,且是从左到右填充。 ...
分类:
编程语言 时间:
2020-06-27 09:18:07
阅读次数:
80
####查找 #####列表:由同一类型的数据元素构成的集合,可以利用任意数据结构实现。 #####关键字:数据元素的某个数据项的值,用它可以标识列表中的一个或一组数据元素。 #####主关键字:唯一标识列表中的一个数据元素。 #####次关键字:不是主关键字,就为次关键字。 #####当数据元素仅 ...
分类:
其他好文 时间:
2020-05-26 16:39:36
阅读次数:
63
HashMap作为我们日常使用最频繁的容器之一,相信你一定不陌生了。今天我们就从HashMap的底层实现讲起,深度了解下它的设计与优化。常用的数据结构我在05讲分享List集合类的时候,讲过ArrayList是基于数组的数据结构实现的,LinkedList是基于链表的数据结构实现的,而我今天要讲的HashMap是基于哈希表的数据结构实现的。我们不妨一起来温习下常用的数据结构,这样也有助于你更好地理
分类:
编程语言 时间:
2020-05-19 17:59:41
阅读次数:
74