
数据结构
Free_YaW
不骄不躁
展开
-
【golang】实现动态数组
前言 在go中,slice可以当作是一种动态数组,但是博主还是想借助slice手动实现一下。 代码 结构体 // array 切片结构体 type array struct { arr []int len int cap int } 创建 func makeArr(len,cap int) *array{ a := new(array) if len > cap { fmt.Println("invalid,len large than cap") return nil } a原创 2022-04-01 16:40:07 · 2763 阅读 · 1 评论 -
【链表】go实现链表
写在前面 最近在复习数据结构,尝试用go实现了下单链表和双向循环链表。(详细内容在注释里面)仅供参考,有错误的话,希望大家能指出。 单链表 链表结构 // ListNode 链表的数据结构 type ListNode struct { Data interface{} NextNode *ListNode } 创建链表 // creatHead 头插法实现单链表 [带头节点] func (l *ListNode) creatHead(n int) *ListNode { if n <原创 2022-03-23 13:51:08 · 1849 阅读 · 0 评论 -
树的遍历
首先声明一下,本章节只将理论,后期有空会补充相应代码。 我们知道树的遍历有先序遍历,中序遍历,后序遍历。但是给了我们一棵树,如何根据指定的比遍历方式,得出最终的结果呢,这就是答主接下来要说内容。 ps:时间原因,直接在纸上画了… 首先给出原图: 1.先序遍历 这个比较简单,大家一般都能写对。我们知道先序遍历的特点是根左右 则我们: 1、先从结点A出发,判断A是否是根,是,则记录A。 2.下面我们要进行“左”,我们走到了B,这个时候,我们要B看成一颗树,首先我们判断B是否是根结点,是,则记录B 3.接下来我们原创 2021-05-03 09:07:04 · 219 阅读 · 0 评论