原创 KMP算法原理詳解_論文解讀版

1. KMP算法 KMP算法是一種保證線性時間的字符串查找算法,由Knuth、Morris和Pratt三位大神發明,而算法取自這三人名字的首字母,因而得名KMP算法。 那發明這樣的字符串查找算法又有什麼用?在當時計算機本身非常昂貴,計算資

原创 理解Windows座標系概念及其轉換

1. Windows座標系統 座標系主要分爲兩種: 邏輯座標系:主要是在“虛擬界面”中繪圖,是繪製到設備座標系的準備階段。 設備座標系:由客戶區座標、窗口座標、屏幕座標組成,主要和顯示設備有關。 在不同的空間中,各個座標系及其座標表示方法

原创 架構漫談(六):軟件架構到底是要解決什麼問題? +個人思考

概括:結合上文(漫談六),爲滿足業務方在利益方面的訴求,將業務在計算機上虛擬化(軟件化),軟件工程師開始對業務進行建模和實現,這是一個順序過程。軟件方面,隨着這個過程愈發複雜,需要不同人參與到不同部分,進行職能的細分和並行開發,達到效率的

原创 LeetCode 940 解題思路

這道題是隨機選的,看了看題目,剛好和前段時間看了MIT6.00課程中的Dynamic Programming很像,於是就想着去解決試試。沒找到Dynamic Programming在這裏的切入點,運算結果是對的(報:Time Limit

原创 散列表——Hash Table

前文對數組和鏈表進行了分析,介紹了各自在插入、遍歷、刪除方面的優勢和劣勢,時間複雜度如下表示。   數組 鏈表 讀取 O(1) O(n) 插入 O(n) O(1) 刪除 O(n) O(1) 既然數組和鏈表都存在一定的不足,那麼有沒有什麼方

原创 VS2017 C++編譯時報大量錯誤

本文的基本部分參考自CSDN博客:https://blog.csdn.net/weixin_40830684/article/details/80949746 如圖所示出現了E1696、E0282、E0260等錯誤,包括“float.h

原创 一致性 hash 算法( consistent hashing )

我的理解和思考:一致性Hash主要爲了解決在節點變化(增或刪)後,會造成的大量的Cache Miss。因而提出了此算法,爲節點的增刪提供極大的幫助。用新方法解決了一個問題後,還有新的問題產生,Cache分佈不均勻呢?因而又引入虛擬節點的概

原创 Linux寫時拷貝技術(Copy on Write)

我的總結: 爲發揮計算機的計算優勢,不惜一切代價壓榨着對計算機資源的使用。 Page Table Entry(PTE)的使用案例之一,這裏的Copy是一種淺拷貝。以Linux的fork爲例,fork時只簡單的創建新的描述信息,並將PTE中

原创 Coursera 計算機組成——期末考試

1.第 1 個問題 以下人物中,沒有參與電子計算機ENIAC研發工作的是 約翰•埃克特 約翰•馮•諾依曼 約翰•阿塔納索夫 約翰•莫克利 Correct 1/1 分 2.第 2 個問題 指令執行的四個基本步驟爲 取指、發射、執行、訪存 取

原创 Traits編程技法

照順序,這次應該是迭代器Iterator的內容了,然而Iterator涉及到一個重要的技巧就是Traits編程技法。 一 獲取Iterator的相應類型(associate type) 在使用Iterator時,可能需要知道它的相應類型,

原创 MIPS彙編程序設計——Cousera

第一題:用系統功能調用實現簡單輸入輸出 利用系統功能調用從鍵盤輸入,轉換後在屏幕上顯示,具體要求如下: 如果輸入的是字母(A~Z,區分大小寫)或數字(0~9),則將其轉換成對應的英文單詞後在屏幕上顯示,對應關係見下表 若輸入的不是字母或數

原创 Dijkstra算法正確性證明

原文鏈接:https://www.cnblogs.com/jiangshaoyin/p/9954937.html 問題:求圖中點1到其他各點的最短距離 策略: 把起點1放入初始集合Set中,從剩

原创 凸包問題的4種解法

原文鏈接:https://blog.csdn.net/u011001084/article/details/72768075 轉載自:https://blog.csdn.net/u0110010

原创 ”無法找到所需的資源“——GDI繪圖相關——MFC運行異常

        這兩天用程序時碰到神奇的問題,軟件短時間運行OK,但一定時間後(6個小時及以上),界面刷新失敗,對軟件長時間不處理後,軟件自動退出。以前軟件因堆內存耗盡退出的都會產生dmp文件,根據這個比較好定位問題。但是此次的軟件退出,

原创 python讀取和保存mat文件

一、mat文件       mat數據格式是Matlab的數據存儲的標準格式。在Matlab中主要使用load()函數導入一個mat文件,使用save()函數保存一個mat文件。對於文件 load('data.mat') save('d