数据结构
Elonjelinek
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何用go语言反转双链表
点击个人博客,查看更多文章https://elonjelinek.github.io 双链表的结构:一个指针指向前一个节点,另一个指针指向后一个节点。 type DoubleNode struct { Value int // 前一个节点,以下统称为前指针 PreNode *DoubleNode // 后一个节点,以下统称为后指针 NextN...原创 2018-09-13 12:03:39 · 828 阅读 · 0 评论 -
go语言递归反转单链表
点击个人博客,查看更多文章https://elonjelinek.github.io 单链表的结构:有两个字段,第一个是节点的值,第二个是节点的指针,指针指向下一个节点 type Node struct { Value int NextNode *Node } 递归反转思路:如果链表为空,就返回空;如果链表只有一个节点,就返回这个节点;如果有两个节点,就返回第二个节点,...原创 2018-09-13 14:31:59 · 1294 阅读 · 0 评论 -
go语言判断一棵树是否是二叉搜索树
点击个人博客,查看更多文章https://elonjelinek.github.io 二叉搜索树主要用来实现搜索操作,二叉搜索树在最坏情况下平均搜索和插入的时间复杂度为O(log n)。 在二叉搜索树中,所有左子树的节点的元素小于根节点数据,所有右子树的节点的元素大于根节点数据,并且树中的每个节点都满足该性质。 左子树所有节点的值均小于它的根节点的值; 右子树所有节点的值均大于它的根节点的...原创 2018-09-13 17:37:47 · 1051 阅读 · 0 评论 -
go语言判断单链表中是否存在环
点击个人博客,查看更多文章https://elonjelinek.github.io 判断单链表是否存在环是一个经典的快慢指针问题,一个每次走一步的指针,和一个每次走两步的指针,如果链表里有环的话,两个指针最终肯定会相遇,具体实现如下: 单链表的结构 type Node struct { value int nextNode *Node } 是否存在环 func...原创 2018-09-13 18:53:01 · 1747 阅读 · 0 评论 -
go语言:反转单链表
点击个人博客,查看更多文章https://elonjelinek.github.io/ 反转单链表 package main import "fmt" type node struct { value int nextNode *node } func reverseNode(head *node) *node { // 先声明两个变量 // 前一个节点...原创 2018-09-11 10:35:02 · 4778 阅读 · 0 评论 -
二叉树的遍历,格式化输出,最大值,最小值
点击个人博客,查看更多文章https://elonjelinek.github.io/ package main import ( "fmt" ) // 树的节点 type Node struct { Value int Left *Node Right *Node } // 树 type BinarySearchTree struct { root *Node } // 格式...原创 2018-09-23 09:42:36 · 1817 阅读 · 0 评论 -
LeetCode第一题:两数之和
题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 第一种方法 ...原创 2019-03-11 09:45:18 · 664 阅读 · 0 评论
分享