数据结构与算法
一枚cs渣渣
这个作者很懒,什么都没留下…
展开
-
二叉树之建立和遍历
今天总结一下以前学过的树,直接讲二叉树吧,就是说节点最多会有两个孩子。以前一直没有去实现过,只是泛泛而谈,导致其实我自己对建树这一块很模糊。今天总结了三种建树的方法:1.就直接new很多个TreeNode节点,然后自己手动去指哪一个左孩子和右孩子2.采用递归的方式去建树,就是定好根节点后,再建左子树(这儿递归,从左子树的根节点递归下去),再建右子树。递归终止条件我想就是遇到null了吧...原创 2018-12-02 22:07:13 · 119 阅读 · 0 评论 -
单链表的基本操作
想想单链表都是大二那会学的了,以前觉得没什么,最近频繁的面试季节,仿佛不会这玩意儿感觉面试是寸步难行。从今天开始,还是从基础开始总结一下。今天先总结了单链表的基本操作,总觉得纸上谈兵永远得不到进步,就都用java实现了一下,方便自己理解。后续还会总结常用相关单链表的面试题。import java.util.Scanner;public class BasicOp { private ...原创 2018-12-01 00:34:16 · 130 阅读 · 0 评论 -
单链表之链表反转
介于链表反转是面试高频问题,且必须会手撕代码的那种,特地拿出来单独做一个总结。这里总结两种方式的反转:迭代和递归。(本来想搞三种的,因为一开始对这个问题的第一思路就是用头插法实现,那思路总归是思路了,代码一实现,那迭代里面的核心思想不就用到了头插嘛,后面着重标记一下。这里大佬请绕开,别笑话我,只是我自己一时想记录下来的)1.迭代法实现链表反转个人觉得迭代法的实现特别清晰,无非就是申明一...原创 2018-12-01 16:26:06 · 435 阅读 · 0 评论 -
单链表之判断链表中是否有环
想想这个问题是来湖大复试的时候老师问的,到现在已经有一年多了,今天才来整理,想想挺惭愧的。首先链表节点声明如下:class Node{ int val; Node next; public Node(int val){ this.val = val; }}然后我们再来利用尾插法造一个链表: public void addNodeFail(int val){ N...原创 2018-12-01 19:44:01 · 180 阅读 · 0 评论