数据结构
无声有寒
这个作者很懒,什么都没留下…
展开
-
6,集合与字典
一、集合结构1.1.简介集合比较常见的实现方式是哈希表,这里使用JavaScript的Object类进行封装。集合通常是由一组无序的、不能重复的元素构成。数学中常指的集合中的元素是可以重复的,但是计算机中集合的元素不能重复。集合是特殊的数组:特殊之处在于里面的元素没有顺序,也不能重复。 没有顺序意味着不能通过下标值进行访问,不能重复意味着相同的对象在集合中只会存在一份。实现集合类: 在ES6中的Set类就是一个集合类,这里我们重新封装一个Set类,了解集合的底层实现。原创 2020-07-13 20:29:41 · 93 阅读 · 0 评论 -
5双链表
1.单向链表前进容易,回退比较困难,所以需要双向链表。2.双向链表示意3.常见操作双向链表常见的操作(方法):append(element):向链表尾部添加一个新的项; inset(position,element):向链表的特定位置插入一个新的项; get(element):获取对应位置的元素; indexOf(element):返回元素在链表中的索引,如果链表中没有元素就返回-1; update(position,element):修改某个位置的元素; removeAt(p原创 2020-07-13 10:21:00 · 76 阅读 · 0 评论 -
4单链表
1.链表创建不需确定大小,增加和删除元素效率高,查找慢。2.链表就像一个火车,车厢保存元素(人),链接指向下一个车厢3.链表中的常见操作:append(element):向链表尾部添加一个新的项; insert(position,element):向链表的特定位置插入一个新的项; get(position):获取对应位置的元素; indexOf(element):返回元素在链表中的索引。如果链表中没有该元素就返回-1; update(position,element):修改某个位置的原创 2020-07-10 12:06:17 · 134 阅读 · 0 评论 -
03队列
1.队列的限制是先进先出2.封装队列//封装队列类 function Queue() { //属性 this.items = []; //方法 //1.入队 Queue.prototype.enQueue = (elem) => { this.items.push(elem); } //2.出队 Queue.prototype.deQ原创 2020-07-07 18:26:18 · 76 阅读 · 0 评论 -
2.栈
1.栈是操作受限的数组,后进先出。2.栈的代码实现,箭头函数idea显示红波浪线但是可以运行 // 封装栈类 function Stack(){ // 栈中的属性 this.items =[] // 栈的相关操作 // 1.push():将元素压入栈 //方式一(不推荐):给对象添加方法,其他对象不能复用 // this.push = () => { // } /原创 2020-07-07 10:36:23 · 85 阅读 · 0 评论 -
1.数据结构是什么
1.如何插入和查找一本书?2.数据结构就是数据的组织方式。3.常见数据结构,不同的数据结构,操作性能不同,所以要灵活运用。4.算法,就是解决问题的步骤。原创 2020-07-06 22:51:28 · 103 阅读 · 0 评论