原创 海量數據的問題思考

海量數據處理的問題 給定一個大小超過 100G 的文件, 其中存在 IP 地址, 找到其中出現次數最多的 IP 地址(hash文件切分) 思路:首先,我們知道100G的文件一定不可能一次加載到內存裏進行處理,所以我們考慮利

原创 哈希表的簡單介紹

哈希表的概念 哈希表(Hash Table)也叫散列表,是根據鍵碼值(key value)而直接進行訪問的數據結構。它通過把關鍵碼值映射到哈希表中的一個位置來訪問記錄,以加快查找速度。這個映射函數就叫做散列函數,存放記錄的數組的

原创 來來來,線程基本概念瞭解一下~~~

線程的概念 那麼什麼是線程呢? 百度百科是這樣介紹的: 線程,有時被稱爲輕量級進程(Lightweight Process,LWP),是程序執行流的最小單元。一個標準的線程由線程ID,當前指令指針(PC),寄存器集合和堆棧組成

原创 安卓常見知識點總結(持續更新)

安卓複習 第一章:安卓概述 windows7不屬於移動操作系統 java虛擬機JVM不屬於安卓平臺的技術架構 activity通常就是一個單獨的屏幕 第二章:活動(activity) Activity具有生命週期: 1. 激

原创 布隆過濾器課堂代碼

bloom.h #pragma once #include "bitmap.h" #define BloomHashCount 2 typedef uint64_t (*BloomHash)(const char*); type

原创 哈希表開散列與閉散列的實現代碼

閉散列 hash1.c #include "hash1.h" #include <stdio.h> #include <stddef.h> void HashInit(HashTable* ht, HashFunc hash_

原创 http錯誤碼

get、post 區別:帶不帶參數不同 包括“ ?”一定帶參,?之前表示請求的資源,之後表示參數。一定用cgi請求形式. 錯誤碼: 2xx 204:請求被處理,但是沒資源 206:支持斷點續傳 3xx 301:永久性重

原创 哈希表筆記

MD5: - 不管字符串多大,生成的MD5長度都是16或32位。 - 幾乎不可逆 - 字符串改變,MD5變化很大 typedef enum{ Empty;//空狀態 Valid;//有效狀態 Dele

原创 hash表的具體實現

閉散列 hash1.c #include "hash1.h" #include <stdio.h> #include <stddef.h> void HashInit(HashTable* ht, HashFunc hash_

原创 排序算法(二)

### 排序算法(二) ```c ///////////////////////////////////////////////////////////// //歸併排序(遞歸) //時間複雜度:O(N * logN) //空間複

原创 線程控制

線程控制 POSIX線程庫 與線程有關的函數構成了一個完整的系列,絕大多數函數的名字都是以“pthread_”打頭的 要使用這些庫函數,要引入頭文件 pthread.h 鏈接這些線程函數庫時要使用編譯器命令“-lpthread

原创 哈希表變形 -- 位圖

位圖 位圖可以表示數字存在與否 布隆過濾器可以表示字符串存在與否 #pragma once #include <stdint.h> typedef struct Bitmap{ uint64_t* data;

原创 Redis的數據結構之SDS及常用API

Redis的數據結構之SDS Redis沒有使用C語言風格的字符串, 而是使用了一種叫SDS的簡單動態字符串。 C風格的字符串用來作爲字符串字面量, 比如打印日誌。當表示一個可以被修改的字符串的時候, redis會用SDS表示。

原创 java中的繼承

java的繼承 1. java中繼承的關鍵字是extends, 其實現的形式是: class Child extends Father{ } 繼承的主要作用就是對類進行擴充以及代碼的複用。 繼承的簡單例子: public clas

原创 java的內部類

內部類 內部類:在一個類的內部嵌套其它類的操作叫內部類。 簡單的內部類: public class Outer { private String msg = "hello world"; class Inner //定義一個內部