個人文件第一版第二部分

2022-05-29 01:48:09 字數 1393 閱讀 9295

3.24

10:40 emmmm 拖延來拖延去總算開始了 先看看群裡的問題

突然發現了單元測試 我真不知道是啥來的 趕快看看吧

哦我的天哪 我感覺單元測試是乙個很強大的東西 我一定得用起來 但是我現在還沒有自己用過 我得趕快開始寫了

10:52 看到了鄧老師的作業部落格 終於知道乙個單詞是啥玩意了,先把類寫好

11:22 天哪 我發現卡在建構函式上了,想用string類 但是不知道有沒有賦空間,又不會單元測試,只能拿dev_c++寫乙個來測一下,效率太低了

3.25

9:00 重新開始一天的工作 上來一塊塊骨頭啃 首先是類中引用新類時候的建構函式的問題

很快就搞定啦~很開心 現在就是要趕快熟練類的編寫和使用(完全裸奔的全public版本,就是因為不想去寫方法,實際上還是當struct在用 但是總比還寫struct要好吧tat)

中間想到了乙個問題,不知道乙個檔案裡會有多少個單詞或者片語 所以很討厭,於是把類寫成鍊錶形式

那麼問題來了,如果用鍊錶來儲存的話,如何高效地儲存前10個高頻片語和單詞呢?

其實仔細想想的話,最好的辦法就是構造乙個片語/單詞類指標陣列,隨時檢測

但是,問題又來了,對於已出現的片語,應該怎麼去檢索呢?

想到這裡,我突然覺得,可能無論對於乙個檔案還是對於所有檔案來說,依字典順序的二叉排序樹可能是最快的查詢方法,因為它的複雜度在o(logn),但是繼而產生的問題是,如果每個檔案/所有檔案全都建立一棵樹的話,空間會很浪費,為了平衡時間-空間效能,乙個想法是對每個檔案做統計和建樹,這樣空間不會浪費,但是如果出現乙個片語在兩個檔案中都出現的情況的話,會使最後的統計難以進行,耗費大量時間。

考慮使用hash表,但是hash表只能加快查詢速度,所以我覺得可以先不加,先利用二叉排序樹來儲存所有檔案這個範疇下單詞/片語的出現,這樣對於查詢會變得很方便,同時結合指標陣列的維護,查詢高頻詞的速度也會較快,只需要遍歷一遍所有檔案,就可以獲得所有結果 為了作業,還是先不考慮空間的損耗了,為了達成小口吃飯的目標,決定無論怎麼樣,先維護一棵包括所有單詞\片語的樹吧。

10:00

一些小細節想完了,上部落格看一看同學們是怎麼想這個問題的

10:15

看完了同學的部落格,有乙個同學寫了各個模組的劃分,分成了輸入輸出,條件判斷,計數,儲存

接下來就是要把專案結構想一下,初步想一下,專案流大概為 讀入目錄下的檔案,並儲存路徑(可選功能:以txt形式儲存,下次讀入直接掃瞄即可)— 通過檔案流讀入檔案(單個,多個——每乙個片語/單詞都要儲存,為字元陣列計數,為樹插入節點,維護指標陣列——

全部輸入完成,進行統計並輸出

經過分析,初步看下來把模組分為輸入,輸出,流操作,樹的建立和維護,等幾個檔案吧

11:19

20:30 開始寫二叉排序樹~

寫了乙個小時,把二叉排序樹建立好了,把檔案流設立好了,但是我現在要去開組會了tat

Web API 第二部分

web api 第二部分 元素偏移量 offset element.offsettop element.offsetleft element.offsetwidth 可以得到元素的大小 寬度和高度 是包含padding border width element.offsetheight elemen...

redux 第二部分

redux 的使用方法,為什麼使用 action.js 檔案,進行優化 將其分開,然後我們通過工廠函式的每次返回不同的物件,由於引數是固定的,每次返回的都是事件型別和事件資料,所以我們可以使用乙個函式,通過其返回值來返回乙個物件,讓後傳遞給 action 我們的 reducer 函式有兩個引數,引數...

實驗二 第二部分

第二部分 ftp協議分析 1.兩個同學一組,a和b。2.在a主機上架設ftp伺服器 3.在b主機上執行wireshark,並登陸a主機的ftp伺服器,上傳一張,得到抓取的資料報,4.進行追蹤tcp流,顯示為原始資料,分析得到a主機登陸ftp的過程及使用者名稱密碼,還原上傳的,第二部分 ftp協議分析...