golang之数据结构
golang之数据结构,参考尚硅谷韩顺平
风落不归处
这个作者很懒,什么都没留下…
展开
-
5. golang数据结构之双向链表
1. 双向链表的应用分析使用带head头的双向链表实现——王者容易英雄排行榜单向链表的缺点分析:1)单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找2)单向链表不能自我删除,需要靠辅助结点,而双向链表,则可以自我删除,所以前面我们单链表删除时结点,总是找到temp的下一个结点来删除的...原创 2021-09-06 19:31:50 · 189 阅读 · 0 评论 -
4. golang数据结构之单向链表
1. 链表的介绍链表是有序的列表,但是它在内存中的存储如下:2. 单链表的介绍单链表的示意图:说明:一般来说,为了比较好的对单链表进行增删改查的操作,我们都会给他设置一个头结点,头结点的作用主要是用来标识链表头,本身这个结点不存放数据。3. 单链表的应用案例案例的说明:使用带head头的单向链表实现 — 王者荣耀排行榜管理完成对英雄任务的增删改查操作,注:删除和修改,查找第一种方法:在添加英雄时,直接添加到链表的尾部代码实现:...原创 2021-09-04 22:12:44 · 308 阅读 · 0 评论 -
3.golang数据结构之队列
1. 队列的应用场景2. 队列的介绍1)队列是一个有序列表,可以用数组或是链表来实现。2)遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出。示意图:(使用数组模拟队列示意图)3. 数组模拟队列1)队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组声明如下,其中maxSize是该队列的最大容量2)因为队列的输出、输入是分别从前后端来处理的,因此需要两个遍历front及rear分别记录队列前后端的下标,front会随着数据输出而改变,.原创 2021-09-02 23:07:04 · 2126 阅读 · 0 评论 -
2. golang数据结构之稀疏sparsearray数组
一、稀疏数组1. 先看一个实际的需求编写的五子棋程序中,有存盘退出和续上盘的功能分析按照原始的方式来的二维数组的问题因为该二维数组的很多值是默认值0,因此记录了很多没有意义的数据2. 基本介绍当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:1)记录数组一共有几行几列,有多少个不同的值2)思想:把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模举例:3. 应用实例1)..原创 2021-09-02 21:01:04 · 306 阅读 · 1 评论 -
1. golang之数据结构的基本介绍
一、数据结构(算法)的介绍1. 数据结构的介绍1)数据结构是一门研究算法的学科,自从有了编程语言也就有了数据结构。数据结构剋帮助我们编写更加有效率的代码2)要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序取实现解决3)程序 = 数据结构 + 算法二、数据结构和算法的关系1)算法是程序的灵魂,有些网站能够在高并发和海量吞吐量的情况下依然坚如磐石,大家可能会说:网站使用了服务器集群技术、数据库读写分离和缓存技术(比如Redis等),那么,这么优化技术又是怎样被那些天才..原创 2021-08-30 20:06:46 · 243 阅读 · 0 评论