
数据结构和算法
码墨
没有命中注定的结局,只有不够努力的过程。
展开
-
走迷宫问题广度优先算法实现
走迷宫问题迷宫是许多小方格构成的矩形,在每个小方格中有的是墙(用1表示),有的是路(用0表示)。走迷宫就是从一个小方格沿上、下、左、右四个方向到邻近的方格,当然不能穿墙。问题描述实现生成迷宫(从文本中读取数据生成),输出迷宫(图案方式),探索迷宫路径(最短路径),输出迷宫路径(图案方式)。输入的文件内容格式为:6 50 1 0 1 10 0 1 1 11 0 0 1 10 1 0...原创 2018-10-21 22:56:25 · 10289 阅读 · 0 评论 -
Go语言数组实现
package arrayimport ( "errors" "fmt")type Array struct { data []interface{} //存储数组数据 length uint //数组当前长度}func NewArray(capacity uint)*Array{ if capacity == 0 { return nil }...原创 2018-11-21 13:58:04 · 793 阅读 · 1 评论 -
Go语言链表实现
package linklistimport ( "errors" "fmt")type ListNode struct { data interface{} next *ListNode}type LinkList struct { head *ListNode length uint}func NewLinkList() *LinkList { retu..原创 2018-11-25 22:43:54 · 2455 阅读 · 1 评论 -
Go语言栈实现
一、栈数据结构特点栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,我们就应该首选“栈”这种数据结构。栈主要包含两个操作,入栈和出栈,也就是在栈顶插入一个数据和从栈顶删除一个数据。二、Go语言实现栈栈既可以用数组来实现,也可以用链表来实现。用数组实现的栈,我们叫作顺序栈,用链表实现的栈,我们叫作链式栈。...原创 2018-11-28 23:39:07 · 1191 阅读 · 0 评论 -
Go语言队列实现
一、队列结构特点队列是一种可以实现“先进先出”的存储结构。你可以把它想象成排队买票,先来的先买,后来的人只能站末尾,不允许插队。先进者先出,这就是典型的“队列”。队列最基本的操作是两个:入队 enqueue(),放一个数据到队列尾部;出队 dequeue(),从队列头部取一个元素。二、Go语言队列实现队列可以用数组来实现,也可以用链表来实现。用数组实现的栈叫作顺序栈,用链表实现的栈叫作链...原创 2018-11-28 23:48:11 · 2095 阅读 · 0 评论 -
Go语言经典排序算法实现
常见排序算法分类排序算法种类繁多。根据处理的数据规模与存储特点,可分为内部排序和外部排序:前者处理的数据规模不大,内存足以容纳;后者处理的数据规模较大,必须将数据存放于外部存储器中,每次排序的时候需要访问外存。根据输入的不同形式,分为脱机算法和在线算法:前者待排序的数据是以批处理的形式给出的;而在云计算之类的环境中,待排序的数据是实时生成的,在排序算法开始运行时,数据并未完全就绪,而是随着排序算...原创 2019-01-13 18:46:31 · 2727 阅读 · 4 评论