day124-数据结构之链表、(单向、双向、单向循环)底层实现代码

一、链表引入

1.为什么需要链表

顺序表的构建需要预先知道数据大小来申请连续的存储空间,
而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。

链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。

2.什么是链表

链表结构可以充分利用计算机内存空间,实现灵活的内存动态管[......]

继续阅读

day123-03栈与队列

一、栈

1、栈是什么

栈(stack)是一种容器,可存入数据元素、访问元素、删除元素。

它的特点在于只能允许在容器的一端(称为栈顶端指标)进行加入数据(push)和输出数据(pop)的运算。

没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,
确定了一种默认的访问顺[......]

继续阅读

day123-02、顺序表

一、顺序表的引入

1.什么是线性表

在程序中,经常需要将一组数据元素作为整体管理和使用,
需要创建这种元素组,用变量记录它们,传进传出函数等。

一组数据中包含的元素个数可能发生变化(增加或删除元素)。

对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的

位置[......]

继续阅读

day123-01数据结构和算法基础

一、数据结构和算法简介

程序 = 数据结构 + 算法

1、什么是数据结构

数据结构就是一些有关系的数据的集合,有顺序表,链表,栈,队列,树,图等结构。

2、什么是算法

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,
算法代表着用系统的方法描述解决[......]

继续阅读