原创 ZK源碼解析之Watcher機制

相關類 Watcher 接口 任何一個事件處理類都必須實現Watcher 接口,它有一個內部接口 Event,以及 process方法。前者定義了ZK的狀態和事件類型的枚舉,後者則定義了事件的回調方法。 @InterfaceAud

原创 大數計算

大數計算 通過對字符串進行操作,實現大數加法和減法。 加法 public static String bigAdd(String a, String b) { char[] inta = new StringBuffer

原创 淺析堆棧

淺析堆棧 在計算機領域,堆棧是一個不容忽視的概念,但是很多人甚至是計算機專業的人也沒有明確堆棧其實是兩種數據結構。 要點: 堆(heap):順序隨意 棧(stack):先進後出   一、預備知識—程序的內存分配   一個由c/C++

原创 Java垃圾回收機制簡介

1. 垃圾回收的意義 在C++中,對象所佔的內存在程序結束運行之前一直被佔用,在明確釋放之前不能分配給其它對象;而在Java中,當沒有對象引用指向原先分配給某個對象的內存時,該內存便成爲垃圾。JVM的一個系統級線程會自動釋放該內存塊。垃圾

原创 斐波那契數列

斐波那契數列 題目描述: 大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項。 n<=39 思路: 1.最容易想到的就是遞歸了,但是因爲每計算一個數時都得重複一遍迭代,給個大數容易超時,代碼如下: publi

原创 Java學習之簡單記錄

2016/10/9 l  調用方法:發送消息給對象,方法即消息。l  單根繼承的好處:1)保證所有對象都具有某些功能;2)使垃圾回收器更易實現。l  堆、棧:見《淺析堆棧》。l  沒有無符號的數值類型。l  不允許出現以下代碼: l

原创 鏈表中倒數第k個結點

鏈表中倒數第k個結點 題目描述: 輸入一個鏈表,輸出該鏈表中倒數第k個結點。 思路分析: 1.將鏈表全部放入棧,再彈出第k個結點; public ListNode FindKthToTail(ListNode head,int k) {

原创 用兩個棧來實現隊列

用兩個棧來實現隊列 題目描述: 用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。 思路: 棧1用來進隊列,棧2用來出隊列 代碼: 1.原始版 import java.util.Stack; pub

原创 排序算法總結

排序算法學習總結 本文中的思路代碼皆借鑑於《大話數據結構》 冒泡排序法 算法描述: 給一個待排序的數組,固定其中一端,從另一端開始兩兩比較,如果反序則交換,直到沒有反序的記錄爲止。在此過程中,數字較小(或較大)的慢慢從數組的一端向另一端

原创 重建二叉樹

重建二叉樹 題目描述: 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6}

原创 float和double的精度與範圍計算

  符號位 指數位 尾數位 float 1 8 23 double 1 11 52 注:指數位中包含指數位的符號位    float的指數位爲8位,故指數的範圍爲(-28~27-1),即(