鍊錶的java實現與時間和空間複雜度分析

2021-07-10 05:46:13 字數 1249 閱讀 7880

今天主要編寫了鍊錶,其具體**如下:

import edu.princeton.cs.algs4.stdin;

import edu.princeton.cs.algs4.stdout;

public

class

linklist

public

void

insert()

}/**

* insert node n2 after node n1

*@param n1

*@param n2

*/public

void

insert(node n1, node n2)

}/**

* delete the k-th node

*@author bjy_pc**/

public string delete(int k)

node = node.next;

count++;

}return string;

}/**

* find the max element using recursion

*@author bjy_pc**/

public node max()

public node max(node n1, node n2)

/*** show the list

*@author bjy_pc**/

@override

public string tostring()

return string;

}/**

* reverse the linklist

*@author bjy_pc**/

public node reverse()

}head.next = reverse;

return reverse;

}class node

}public

static

void

main(string args)

}

其中每個操作的時間複雜度最多為線性的,對空間複雜度來說,node節點占用72位元組,其中node物件開銷16個位元組,內部類占用8位元組的額外開銷,指向node的引用占用8個位元組,string物件占用40個位元組。則長度為n的鍊錶至少需要24 + 72*n個位元組(不包括字串陣列的位元組數),其中linklist物件有16個位元組的物件開銷,head節點的引用占用8個位元組。

JAVA的鍊錶實現

其實很早就想開始在csdn寫部落格了,但是苦於時間或者是懶,一直沒有動手,想了想,最後還是開始吧,第一篇部落格,開始我的csdn之旅。package com.bird.node public class intsllnode public intsllnode int i,intsllnode n ...

java 鍊錶的實現

public class singlelinkedlist node t nodevalue 下面是singlelinkedlist類的資料成員和方法 public nodehead,tail public singlelinkedlist 判斷鍊錶是否為空 public boolean isemp...

鍊錶 java實現

package com.shine.linearlist 單鏈表結點類 public class node public node package com.shine.linearlist 線性表介面 2015 01 19 qizhang public inte ce llist package c...