
数据结构
主要介绍是数据结构
TimChen666
持续学习的渣渣
展开
-
《大话数据结构》学习笔记 —— 05 队列(golang实现)
队列定义队列是一种先进先出(First in first out, FIFO)的线性表,它只允许在一端进行插入操作,而在另一端进行删除操作。允许插入的一端,称为队尾。允许删除的一端,称为队头。队列的顺序存储结构基本上和线性表的顺序存储结构一致。入队示意图:出队示意图:代码实现package Queue// 队列的接口type MyQueue interfa...原创 2020-04-02 23:38:11 · 154 阅读 · 0 评论 -
《大话数据结构》学习笔记 —— 04 栈(golang实现)
栈定义栈是一个后进先出的(Last in first out, LIFO)的线性表,它限定仅在表尾进行删除和插入操作。关键词栈顶、栈底允许插入和删除的一端称为栈顶,另一端称为栈底。空栈不包含任何数据元素的栈称为空栈。栈的插入操作栈的插入操作,叫作进栈,也称压栈、入栈。栈的删除操作栈的删除操作,叫作出栈,也称弹栈。栈的顺序存储结构进栈操作示意图:代码...原创 2020-04-01 09:44:36 · 354 阅读 · 0 评论 -
《大话数据结构》学习笔记 —— 03 双向链表(golang实现)
循环链表定义双向链表是在单链表的每个结点中,再设置一个指向前驱结点的指针域、代码实现package DoubleLinkling// 双向链表结点type DoubleLinkNode struct { value interface{} // 上一个结点 prev *DoubleLinkNode // 下一个结点 next *DoubleLinkNode}...原创 2020-04-01 08:19:10 · 143 阅读 · 0 评论 -
《大话数据结构》学习笔记 —— 03 线性表之循环链表(golang实现)
循环链表前言普通的单链表有一个明显的缺点,如果不从头结点出发,就无法访问到全部结点。定义将单链表中终端结点的指针由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表。...原创 2020-04-01 08:15:29 · 188 阅读 · 0 评论 -
《大话数据结构》学习笔记 —— 03 线性表之单链表(golang实现)
单链表定义如果链表中的每个结点只包含一个指针,则该链表称为单链表。单链表结构如图所示:代码实现package mainimport ( "errors" "fmt")// 定义单链表结点结构体type Node struct { // 数据 Data int // 指针 Next *Node}// 获取链表中的第i个元素func (head *No...原创 2020-04-01 08:15:03 · 212 阅读 · 0 评论 -
《大话数据结构》学习笔记 —— 03 线性表(golang实现)
线性表定义线性表:零个或多个数据元素的有限序列。序列元素之间是有顺序,若存在多个元素,则第一个元素无前驱元素,最后一个元素无后继元素,每个元素有且仅有一个前驱和后继元素。而且元素类型也相同!有限线性表强调表里的元素有限。长度线性表元素的个数n(n≥0)定义为线性表的长度,当n=0时,称为空表。线性表的顺序存储结构定义线性表的顺序存储结构:用一段地址连续的存...原创 2020-04-01 08:14:36 · 258 阅读 · 0 评论 -
《大话数据结构》学习笔记 —— 02 算法
基本概念算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。为了解决某个或某类问题,需要把指令表示成一定的操作序列,操作序列包括一组操作,每一个操作都完成特定的功能,这就是算法。特性算法具有五个基本特性:输入、输出、有穷性、确定性和可行性。输入输出算法具有零个或多个输入,并且至少有一个输出。绝大多数情况下,算法都需要输入参数,但如...原创 2020-03-26 00:00:47 · 274 阅读 · 0 评论 -
《大话数据结构》学习笔记 —— 01 数据结构
一、基本概念1. 数据结构 + 算法 = 程序程序设计的实质是对确定问题选择一种好的结构,加上设计一种好的算法。2. 数据定义可描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。特性可以输入到计算机中。能够被计算机程序处理。对于整数、浮点数等数值型类型,可以直接进行数值计算。对于字符数据,需要进行非数值的处理。譬...转载 2019-05-25 18:10:34 · 199 阅读 · 0 评论