Scala数据结构主要的集合特质Scala同时支持可变集合和不可变集合,优先采用不可变集合。集合主要分为三大类:序列(List),集(set),映射(map)。所有的集合都扩展自Iterable特质。对几乎所有的集合类,Scala都同时提供了可变和不可变版本。Seq是一个有先后次序的值的序列。IndexedSeq能够通过整形下表快速访问Set是一个没有先后顺序的集合。Map是一组键...
原创 2022-03-07 13:40:08
70阅读
1 数据结构特点Scala同时支持变集合继承层次:可变集合继承层次...
原创 2022-11-11 16:20:26
181阅读
Scala数据结构主要的集合特质Scala同时支持可变集合和不可变集合,优先采用不可变集合。集合主要分为三大类:序列(List),集(set),映射(map)。所有的集合都扩展自Iterable特质。对几乎所有的集合类,Scala都同时提供了可变和不可变版本。Seq是一个有先后次序的值的序列。IndexedSeq能够通过整形下表快速访问Set是一个没有先后顺序的集合。Map是一组键...
原创 2021-08-11 10:00:33
16阅读
数据结构特点 scala集合基本介绍 1)Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 2)两个主要的包: 不可变集合:scala.collection.immutable 可变集合: scala.collection.mutable 3)Scala默认采用不可变集合,对
转载 2020-07-07 22:02:00
849阅读
2评论
文章目录数组-链表-树形结构对比树形结构概念数组-链表-树形结构对比数组的优点与缺点优点通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。2.缺点如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低链式存储的优点和缺点1.优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,链接到链表中即可)2.缺点:在进行检索时,效率仍然较低,比如(检索某个值,需要从头节点开始遍历)树存储方式分析能提高数据存储,读取
原创 2021-05-31 17:23:37
596阅读
文章目录数组-链表-树形结构对比树形结构概念数组-链表-树形结构对比数组的优点与缺点优点通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。2.缺点如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低链式存储的优点和缺点1.优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,
原创 2022-02-10 10:33:13
342阅读
 字符串type _string struct { elements *byte // 引用着底层的字节 len int // 字符串中的字节数,获取长度O(1) } 对于字符串比较,编译器有两个优化:若长度不相等,则字符串不相等,O(1)若指针相等,长度大的字符串大,O(1)  sliceslice由指针、长度、容量三部分组成
一、概述: 这里主要讨论四种类型———数组、slice、map和结构体 数组和结构体是聚合类型;它们的值都是由很多个元素或者成员字段的值组成。数组是有同构元素组成——每个数组的元素的类型相同;结构体为异构元素组成——每个结构体不一定是同类型元素构成;数组和结构体都是有固定内存大小的数据结构; sli
转载 2016-11-30 10:52:00
159阅读
2评论
4种:bool/int/uint/uintptr(其中bool类型的零值为false,其余类型的零值为0) 4种:float32/float
原创 2022-08-03 07:33:43
140阅读
文章目录概述概述根据key直接访问在内存存储位置的数据结构,通过一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,加快查找速度,这个映射函数称做散列函数,存放记录的数组为散列表记录存储的位置=f(key)这里对应关系f称为散列函数,又称为hash函数,采用散列技术将记录存储在一块连续存储空间中,这块连续存储空间称为散列表或hash表hash表就是把key通过一个固定的算法函数(哈希函数)转换成一个整形数字,然后将该数字与数组长度取余,取余结构当做数据下标,然后将value存储在以该
原创 2021-05-31 17:23:38
339阅读
文章目录链表单向链表链表链表是一种有序列表.其中的各对象按线性顺序排列数组的线性顺序是由数组下标决定的,而链表的顺序是由各个对象里的指针决定的使用链表结果可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分使用计算机内存空间,灵活的内存动态管理,但是链表失去了数组随机读取的优点,同时链表由于增加了节点的指针域,空间开销比较大链表作为一种基础的数据结构,可以用来生成其他类型的数据结构,可以分为单向链表,双向链表,循环链表单向链表单向链表是最简单的链表,它包含两个域,一个是信息域,一个是指
原创 2021-05-31 17:23:41
743阅读
1 数组-定长数组(声明泛型) 第一种方式定义数组 这里的数组等同于Java中的数组,中括号的类型就是数组的类型 val arr1 = new Array[Int](10) //赋值,集合元素采用小括号访问 arr1(1) = 7 val arr01 = new Array[Int](4) prin
转载 2020-07-07 22:32:00
274阅读
2评论
文章目录链表单向链表链表链表是一种有序列表.其中的各对象按线性顺序排列数组的线性顺序是由数组下标决定的,而链表的顺序是由各个对象里的指针决定的使用链表结果可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分使用计算机内存空间,灵活的内存动态管理,但是链表失去了数组随机读取的优点,同时链表由于增加了节点的指针域,
原创 2022-02-15 14:25:39
454阅读
Scala数据结构和算法
原创 2021-08-19 13:00:57
209阅读
文章目录简介应用场景简介先入后出的有序列表,限制线性表中元素的插入和删除,只能在线性表的同一端进行的特殊线性表,允许插入和删除的一端.为变化的一端,称为栈顶(Top),另一端固定的一端为栈底(Bottom)因此,最先放入栈中元素在栈底,最后放入的元素在栈顶,删除元素相反,最后放入的先删除,最先放入的后删除栈主要两个操作:
原创 2022-02-15 14:26:05
259阅读
文章目录概述概述根据key直接访问在内存存储位置的数据结构,通过一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,加快查找速度,这个映射函数称做散列函数,存放记录的数组为散列表记录存储的位置=f(key)这里对应关系f称为散列函数,又称为hash函数,采用散列技术将记录存储在一块连续存储空间中,这块连续存储空间称为散列表或hash表hash表就是把
原创 2022-02-10 10:32:53
233阅读
文章目录简介应用场景简介先入后出的有序列表,限制线性表中元素的插入和删除,只能在线性表的同一端进行的特殊线性表,允许插入和删除的一端.为变化的一端,称为栈顶(Top),另一端固定的一端为栈底(Bottom)因此,最先放入栈中元素在栈底,最后放入的元素在栈顶,删除元素相反,最后放入的先删除,最先放入的后删除栈主要两个操作: 入栈(push)和出栈(pop)应用场景1.子程序的调用: 在跳往子程序前,会将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,回到原来的程序中2.处理递归
原创 2021-05-31 17:23:42
338阅读
我是陈星星,欢迎阅读我亲自写的 数据结构和算法(Golang实现),常见数据结构及算法数据结构主要用来组织数据,也作为数据的容器,载体。各种各样的算法,都需要使用一定的数据结构来组织数据。常见的典型数据结构有:链表栈和队列树图上述可以延伸出各种各样的术语和结构,如列表,集合,哈希表,堆,优先队列,二叉树,红黑树,B+树以及各种变种等。我们区别开数据结构和算法,是因为算法是更高层次的一种智慧结晶,目
golang实现堆排序及其原理
原创 2018-07-19 21:02:00
2713阅读
go语言实现冒泡排序
原创 2018-07-30 18:57:13
1333阅读
  • 1
  • 2
  • 3
  • 4
  • 5