数据结构与算法
文章平均质量分 79
Keozzz
JAVA EE 中间件
展开
-
JAVA实现二叉树的前、中、后序遍历
二叉树的遍历有三种形式:前序遍历、中序遍历、后序遍历,三种遍历的规则分别如下: 1)前序遍历:先遍历根节点,然后遍历左子节点,最后遍历右子节点,简记为“根-左-右”; 2)中序遍历:先遍历左子节点,然后遍历根节点,最后遍历右子节点,简记为“左-根-右”; 3)后序遍历:先遍历左子节点,然后遍历右子节点,最后遍历根节点,简记为“左-右-根”; 如果记性不好的朋友,总是记错,可原创 2016-10-27 10:36:07 · 1391 阅读 · 1 评论 -
探究简单递归Java代码实现
递归(Recursion),是一种非常基本而又极其重要的编程思想,也是解决某些面试题的强有力武器。无论是链表、二叉树、图等数据结构,还是排序、查找等算法,许多问题通常都能通过递归解决。 程序调用自身的编程技巧称为递归( recursion)。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。简而言之,递归的两个point是:1原创 2016-11-02 14:06:05 · 991 阅读 · 0 评论 -
探究数据结构之链表Java代码实现(一)
上一篇博客探究了简单递归的思想,从这篇博客起,我们要探索数据结构,先从链表开始~ 链表原理 链表的内存模型 单链表有两个属性: value,值 next,指向下一个节点的指针(引用) 双链表附加一个属性: pre,指向上一个节点的指针(引用)原创 2016-11-03 15:11:49 · 583 阅读 · 0 评论 -
探究数据结构之链表Java代码实现(二)
上一篇博客中,对链表的原理、以及一些基础的方法进行了简单的探讨,这边博客我们继续玩转链表~ 寻找链表的倒数第N个节点 问题描述 普通算法的思路 思路1: 将指针移动到链表尾部null 将指针往前回退N位 但是,单链表没有pre指针!显然,这种思路是行不通的。 于是,我们换个思路。 思路2: 假设链表的长度为M,寻找倒数第N个节点,相当于寻找链原创 2016-11-10 16:03:40 · 542 阅读 · 0 评论