有一种观点认为,程序等于数据结构加算法,但是懂得了数据结构与算法并不一定能写出好的程序。本文主要介绍后面文章会用到的一些基本数据结构。
异常处理
后面统一使用如下异常类,处理抛出异常。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| package com.lei.payment.java.base.algorithm.exception;
public class AlgorithmException extends RuntimeException { private String message;
public AlgorithmException() { super(); }
public AlgorithmException(String message) { super(message); this.message = message; } }
|
错误码定义类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| package com.lei.payment.java.base.algorithm.exception;
public class ErrorCode4Algorithm { private ErrorCode4Algorithm(){ }
public static final String INDEX_OUT_OF_RANGE = "INDEX_OUT_OF_RANGE";
public static final String NOT_IMPLEMENT_EXCEPTION = "NOT_IMPLEMENT_EXCEPTION"; }
|
一维节点定义
所有一维单链表统一如下节点进行处理。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| package com.lei.payment.java.base.algorithm.node;
import lombok.*; import lombok.experimental.SuperBuilder;
@Getter @Setter @ToString @SuperBuilder @NoArgsConstructor @AllArgsConstructor public class ListNode<T> {
private T val;
private ListNode next; }
|