
Data Structures and Algorithms
liuhangsheng
21考研,加油,奥里给,冲鸭
展开
-
二叉树的序列化和反序列化(用先序和层)
元素之间用 "_" 分开,遇到用 "#" 隔开即该序列化为:A_B_D_#_#_E_#_#_C_#_F利用先序遍历的一大特点(访问顺序):中左右. 在使用递归便可得到它的序列化public static String serialByPre(Node head){ if(head==null){ return "#_"; } String res=head.v...原创 2019-11-10 00:03:32 · 383 阅读 · 0 评论 -
二叉树遍历的递归与非递归形式
那么根据递归的性质还是很好判断的.下面是递归访问节点的顺序:显然,递归访问时,每次出现该节点的第一次就为先序遍历, 第二次就为中序遍历, ...原创 2019-11-09 10:05:19 · 222 阅读 · 0 评论 -
从最大公共子序列的和的问题上去分析程序所花费的时间
第一种:相对的复杂度为O(N^3) //O(N^3) public static int MaxSubsequenceSum1(int arr[]){ int sum=0; int maxSum=Integer.MIN_VALUE; for(int i=0;i<arr.length;i++){ for(int j=0;j<arr.length;j++)...原创 2019-11-07 21:34:20 · 187 阅读 · 0 评论 -
链表专项----判断是否有环并返回第一个节点
方法一: 使用HashMap中的containsKey()方法,在put时判断该Node节点是否已存在,若存在,必是第一个入环节点;若不存在,则只能反应该链表不是一个环. public static Node isLoop1(Node head){ Node cur=head; HashMap<Node,Node> map=new HashM...原创 2019-11-03 22:13:29 · 292 阅读 · 0 评论