随笔分类 - 数据结构
记录学习笔记。
数据结构是程序的灵魂。
摘要:1.前序遍历; 先访问根结点,然后再访问左子树,最后访问右子树。 2.中序遍历 先访问左子树,中间访问根节点,最后访问右子树。 3.后序遍历; 先访问左子树,再访问右子树,最后访问根节点。 4.从左到右,从上到下一层一层的访问二叉树。 1、前序遍历 /* * 路人假helloWorld */ //前
阅读全文
摘要:二叉树 1 树的定义和特点 定义:树是由n(n > 1)有限结点组成一个具有层次关系的集合。 特点: 1.每个结点有零个或多个子结点; 2.没有父结点的结点为根结点; 3.每一个非根结点只有一个父结点; 4.每个结点及后代结点整体上可以看做是一棵树,称为当前结点的父结点的一个子树; 2 树的相关术语
阅读全文
摘要:实现HashMap /* *路人假helloWorld */ package com.cjj.sort; public class SymbolTable<Key,Value> { private Node head; private int N; //内部结点类 public class Node
阅读全文
摘要:实现队列 /* *路人假helloWorld */ package com.cjj.sort; import java.util.Iterator; public class Queue<T> implements Iterable<T>{ private Node head; private in
阅读全文
摘要:1. 栈的实现 /* *路人假helloworld */ package com.cjj.sort; import java.util.Iterator; public class Stack<T> implements Iterable<T>{ private Node head; private
阅读全文
摘要:解决链表的四道算法题: 1.链表反转。 2.使用快慢指针获取链表中间值。 3.使用快慢指针判断链表中是否有环。 4.使用快慢指针找出链表中环的入口。 1.链表反转 使用递归解决链表反转 /* *路人假helloWorld *反转链表 */ public void reverse(Node head)
阅读全文
摘要:1.链表 1.1 单向链表的实现 代码: /* * 路人假helloWorld */ package com.cjj.sort; import java.util.Iterator; public class LinkList<T> implements Iterable<T>{ //头结点 pri
阅读全文
摘要:1.顺序表的实现 使用数组实现ArrayList 代码 /* *路人假helloWorld */ package com.cjj.sort; import java.util.Arrays; public class MyArrayList<T> { //存储元素的数组 private T[] el
阅读全文