1. 程式人生 > 其它 >LSH-區域性敏感雜湊

LSH-區域性敏感雜湊


在JAVA中,首先要定義一個main方法,而這個mian方法會存入到棧空間中執行,用專業術語來講就是“棧幀”。

當局部變數放入棧空間時,區域性變數就會在棧幀中開始執行。

與C語言不同的是,JAVA中的陣列名屬於引用變數,其實相當於一個指標。而指標變數則會指向堆空間,此空間中儲存的是陣列的首元地址 以及陣列中的所有元素。

JAVA的堆記憶體申請會自動進行初始化,如下表

陣列的遍歷

除了用我們之前學過的for迴圈對陣列進行遍歷,還可以使用下面這個方法

for (int ele : arr) { //右邊放陣列名稱,左邊放陣列元素
System.out.println(ele);
}

缺點是不能得知陣列元素的下標,如果想獲取陣列元素的下標可以在for迴圈的外面加一層迴圈,每次輸出一個元素,就讓i++。

每次列印陣列中的元素,程式採用的方法都是隨機訪問,特點就是速度很快,而它的時間複雜度為O(1)。其實它也是有一個計算公式的,舉個例子:

比如說,陣列a的首元地址為0x1110,我們現在要求a[n]是多少

那麼程式將會快速跳轉到a[n]所在的位置 a[n] =0x1110 + n*4 ,並且輸出a[n]的值。