数据结构与算法

【学习笔记】【数据结构与算法篇】链表

什么是链表?是一种线性表,但不按线性存储,即内存不连续,链表在每一个节点里存到下一个节点的指针(Pointer),从而形成顺序关系。 数据结构的意思指的是,我们如何在计算机中存储及表示我们的数据 链表的第一个元素,称之为头节点。 如果链表的最后的一个元素指向了头节点,那么这个链表就成为了一个环。就像一条咬到自己尾巴的蛇。 我们用线性表存储我们的数据时,依然(同数组)是需要 CRUD 四个操作: 插入 更新 删除 查询 CRUB 操作分析 插入 比如说,我们要在 linklist[5] 这个位置之后插入数据,这个我们分为两种情况讨论。

  • liaojl
2 min read
数据结构与算法

【学习笔记】【数据结构与算法篇】数组

什么是数组?由相同类型的元素(element)的集合所组成的数据结构,分配一块连续的内存来存储。利用元素的索引(index)可以计算出该元素对应的存储地址。 请注意: 数组元素类型相同 内存连续 随机访问,也即直接访问 数据结构是用来存储数据的,我们的目的是将数据存储在数组中,所以需要对数组进行一些操作: 插入 insert 更新 update 删除 delete 查询 query 插入数据:插入数据时,需把插入位置之后的元素向后移动一个位置,移动次数随位置改变而改变,故时间复杂度为 O(n) 删除数据:删除数据时,

  • liaojl
1 min read
数据结构与算法

【学习笔记】【数据结构与算法篇】复杂度分析

复杂度分为两类:时间复杂度和空间复杂度 我们为什么需要复杂度:用来衡量执行一个算法时,数据规模与时间和空间的关系 那什么是复杂度?怎么定义?: 时间复杂度:定性描述算法运行时间的函数 空间复杂度:对一个算法在运行过程中临时占用存储空间大小的量度 请注意,是定性描述。 表示方法: 用 big O 表示法表示,形如 O(n2) 时间复杂度量级: 常数阶 O(1) 对数阶 O(logn) 线性阶 O(n) 线性对数阶 O(

  • liaojl
2 min read
2693491512@qq.com