
编程之数据结构
fly_Xiaoma
技术分享,技术学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构之"单链表"
学习数据结构就要按照链表、栈、队列、排序、数组、树的顺序来学。单链表链表是最基本的数据结构,原理图如下所示:head为头结点,不存放任何数据,只是充当一个指向链表中真正存放数据的第一个节点的作用;每个节点中都有一个next引用,指向下一个节点,一节一节往下面录,直到最后一个节点,最后一个节点的next指向null。注:头节点索引为0。新建一个Node类,来充当节点的模型,它有两...原创 2018-11-04 20:41:16 · 161 阅读 · 0 评论 -
数据结构之"二叉树的三种遍历方法"
1、什么是二叉树定义:有且仅有一个根节点,每个节点只有一个父节点,最多含有两个子节点,子节点有左右之分。2、二叉树的遍历二叉树是一种树形结构,遍历就是要让树中的节点被且仅被访问一次,即按一定规律排列成一个线性队列。二叉树是一种递归定义的结构,包含三个部分:根节点(N)、左子树(L)、右子树(R)。根据这三个部分的访问次序对二叉树的遍历进行分类,总共有6种遍历方案:NLR、NRL 、LN...原创 2018-11-05 09:09:47 · 9052 阅读 · 5 评论 -
数据结构之“判断链表中是否有环,并求入口节点”
循环链表有两种情况:1)单链表中终端节点由空指针指向头节点2)终端节点指向链表中非头节点下图是第二种情况:思路:1)使用快慢两个指针,找到第一次的相遇点,让慢指针留在此处 2)让快指针从头节点以慢指针的速度开始走(此时慢指针进入循环),直到两指针相遇,此时相遇点就是环的入口代码实现:public class LinkTest{ ListNode...原创 2018-11-05 10:41:33 · 222 阅读 · 0 评论 -
数据结构之“如何判断一个序列为堆”
序列是不是堆可从两个方面判断:1)最大堆 2)最小堆,符合这两种情况的序列就是堆最大堆:所有的父节点都比左子树和右子树都大如图所示: 最小堆:所有的父节点都比它的左子树和右子树小如图所示: ...原创 2018-11-05 11:00:38 · 19856 阅读 · 0 评论 -
数据结构(线性表、栈与队列、树、图)
一、线性表线性表是最常用且最简单的一种数据结构,它是n个数据元素的有限序列。实现线性表的方式一般有两种:使用数组存储线性表的元素,即用一组连续的存储单元依次存储线性表的数据结构 使用链表存储线性表的元素,即用一组任意的存储单元存储线性表的数据元素(存储单元可以是连续的,也可以是不连续的)数组实现数组是一种大小固定的数据结构,对线性表的所有操作都可以通过数组来实现。虽然数组一旦创...原创 2019-06-10 18:49:52 · 3269 阅读 · 0 评论