首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据结构学习笔记|链表

链表的定义 链表是一种常见的数据结构,一般的缓存管理都会选择链表来实现LRU。在常见的面试八股文中,总会提到数组和链表的区别。...一般的答案主要包括几个方面: 数组在内存中是连续的,链表不是连续的; 数组用下标查找的时间复杂度是O(1),链表适合插入删除,时间复杂度是O(1) 在日常的工作中基本按照上面的特点选择需要的数据结构就可以了...链表是一种很有用的基础数据结构,用链表可以实现像栈、队列等数据结构。 链表又分为单链表、双向链表和循环链表。不管是那种形式,链表就是一个由指针串起来的数据结构。...->next = head->next; head->next = p; p->prev = head; } 初步测试这个算法基本可用,虽然作为工业生产不太可能,但是足以说明算法思想和数据结构的应用

27230
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    redis学习笔记(一)数据结构

    (2)取决于redis合理的数据结构特性,键值对按一定的数据结构来存储,我们操作redis的键值对最终就是对数据结构进行增删改查操作,所以在合适的场景我们也应该采用合适的数据结构。...上述的数据结构中他们的底层也有着底层数据结构的实现,分别是简单动态字符串、双向链表、压缩列表、哈希表、跳表和整数集合。...他们对应的redis数据结构如下图所示: ? 可以看到,String类型的底层实现只有一种数据结构即简单动态字符串。其余四种数据结构底层实现都有两种实现结构。...O(n) 5、数组 - O(n) 四、总结 本文主要学习了redis的底层数据结构,首先是全局用来保存键值对的hash表,其次是底层的集合数据结构 - 双向链表、压缩列表、整数数组...整数数组和压缩列表的设计,主要体现了redis可用这两个数据结构来节省空间,因为这2个数据结构,都是在内存中分配一块地址连续的空间,然后把集合一个接一个的放在这块空间内,非常紧凑,正式由于这个连续的空间和数据连续的放置我们不用像其他数据结构一样使用指针来串接起来

    40230

    数据结构与算法学习笔记

    本文是王争老师的《算法与数据结构之美》的学习笔记,详细内容请看王争的专栏 。有不懂的地方指出来,我做修改。...数据结构与算法思维导图 数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。 数据结构是为算法服务的,算法是要作用再特定的数据结构上的。...最常用的数据结构预算法: 数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Tire树 算法: 递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法...2.从内存结构来看,链表的内存结构是不连续的内存空间,是将一组零散的内存块串联起来,从而进行数据存储的数据结构。 3.链表中的每一个内存块被称为节点Node。...队列跟栈一样,也是一种抽象的数据结构。 2. 具有先进先出的特性,支持在队尾插入元素,在队头删除元素。 实现: 队列可以用数组来实现,也可以用链表来实现。

    67220

    数据结构学习笔记【持续更新】

    数据结构概述:   定义:     我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到保存到主存储器(内存)中,     以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素...,对所有元素进行排序)而执行相应的操作,     这个相应的操作也叫算法     数据结构 = 个体 + 个体的关系     算法 = 对存储数据的操作   算法:     解题的方法和步骤     衡量算法的标准...大概要执行的次数,而非执行的时间(最重要的)           2.空间复杂度:算法执行过程中大概所占用的最大内存(最重要的)           3.难易程度           4.健壮性   数据结构的地位...:数据结构是软件中最核心的课程           程序 = 数据的存储 + 数据的操作 + 可以被计算机执行的语言  预备知识:     指针:       指针的重要性:指针是C语言的灵魂

    49330

    如何高效学习数据结构与算法《学习笔记

    前言 本文是个人基于覃超老师的《算法训练营》的学习笔记,此笔记的内容都是学习后的个人记录、个人总结、理解和思想。仅供参考学习。...但是学会算法,或者接触过数据结构与算法后,发现懂这门知识的程序员编写出来的代码相对有更高的质量。代码的性能、写法、底层逻辑和解决问题的能力都会高于不懂数据结构与算法的程序员。...这系列的《算法学习笔记》,与大家一起重温或者学习数据结构与算法。...这里也赠送大家一句话: "好记性不如烂笔头,好记性更不如好笔记" 愿大家在技术银河中终身漂泊学习时,习惯编写自己的笔记,以后这些笔记必定成为我们最珍贵的宝藏!...; 如何攻破庞大的知识体系变成编程职业高手 切碎知识点与建立脉络 刻意练习 反馈 数据结构中有什么?

    70131

    数据结构学习笔记分享

    数据结构学习笔记分享(C/C++) 偶然的机会,在bilibli上看到了郝斌老师教的《数据结构入门》,课程录制时间是2009年,也就是10年前。...另外在cpp文件中,添加了大量的注释,可以直接当做笔记阅读。 ?.../data_structure_learning 课堂笔记如下: 一、基本概念 数据结构定义: 我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能...(一)线性结构的两种数据结构: 1.数组 笔记见程序。 2.链表: 首节点:第一个有效节点 尾结点:最后一个有效节点 头结点 :数据类型和首节点一样。...---- 以上就是全部的笔记了。 很可惜,郝斌老师后面没有继续录制“图”的内容。

    84420
    领券