原创 數據結構與算法之平衡二叉樹的實現

關於平衡二叉樹 前面的博客筆者提到過關於二叉搜索樹的實現與分析,詳見跳轉 :深入瞭解搜索樹之二叉搜索樹的原理分析以及實現雖然二叉搜索樹很大程度滿足了在O(lgN)的情況下搜索元素的需求。但是,**當元素按照升序或者降序插入時,一種

原创 數據結構:棧與隊列的python以及C結構體實現(順序結構及鏈式結構)

一 .棧的實現圖解 1.利用順序表模擬棧 class LinelyStack : def __init__(self,size = 10,count = 0): self.tops = -1

原创 操作系統的基本概念解析之批處理技術

單道批處理技術 爲了實現對作業的連續調度,早期的計算機需要通過脫機方式將一批需要處理的作業輸入到磁盤之中,通過監督程序調度作業在處理機中一個接着一個連續被處理。 單道批處理處理流程 首先,監督程序將一道作業裝入內存中,並且將運行

原创 python基礎設計模式之橋接模式

橋接模式 :屬於結構型模式的一種,通過將抽象部分與實現部分分離,使得其可以按照自己獨立的方式運行 抽象化 :通俗點說,就是將具有共同特徵包括屬性以及行爲的部分抽象出來當作一個實體進行對待 實現化 :可以類比爲面向對象思想中對類的實

原创 通過複製文本轉化哈希形式保存的簡易腳本實現

-腳本背景 在項目實戰過程中,經常遇到文本轉化爲哈希表的問題,由於沒有現成的 庫,導致文本轉化過程非常浪費時間,今天下午抽時間寫了小工具,希望能夠幫助簡化轉化流程,同時也可以適當進行修改作爲json操作 轉化前的文本形式

原创 字符串的匹配算法之樸素算法的分析與實現

假設有以下場景 :給定一段字符文本【目標串】,需要統計給定的字符串【模式串】出現的數量 對於小規模的字符文本串,我們完全可以通過人工統計出模式串出現的數量,可是對於規模化的文本串,顯然是無法通過人工直接解決,這是需要運用計算機模擬

原创 操作系統並行/併發以及共享的區別

併發 併發指的是兩個或者多個事件在同一時間間隔中發生,例如一個單核CPU需要執行兩個作業,爲了保證每個事件都可以被CPU調度執行,必須要引入併發的概念 並行 並行指的是兩個或者多個時間在同一時刻發生,例如一臺擁有N核CPU的需要

原创 堆的原理分析以及優先級隊列的實現(python/C)

一. 堆的原理分析 堆區別於隊列於堆棧的堆,這裏的(二叉)堆值得是一個存儲元素的數組,可以近似的看作爲一顆完全二叉樹,利用數組的下表可以訪問其對應的雙親以及孩子 二. 堆的兩種形式 最大堆 除了根元素以外,所有結點的權值均要小

原创 AC自動機的原理分析以及實現

關於模式匹配 在以前的博客中,筆者寫了單模式的模式匹配算法樸素匹配算法,BM匹配算法以及著名的KMP匹配算法這些著名的算法都是建立在對前一個算法搜索的改進上。可是單模式匹配算法的缺點也非常明顯,當同時匹配多個模式串時,這些算法顯

原创 操作系統原理之進程同步遵循規則

操作系統引入了進程之後使得操作系統的進程可以併發的執行,極大的提高了系統資源利用率以及吞吐量,在進程併發執行的過程中,由於系統的資源有限,而併發的進程可能都需要系統資源,這樣極易引發併發的進程對系統資源的爭奪。 舉個例子 :兩個併

原创 字符串匹配算法之BM算法的分析與Python實現(壞字符模式)

關於字符串的算法,在之前的博客中已經做了簡單的介紹,在這裏不再贅述,關於詳細內容以及樸素字符匹配算法的實現與分析請轉內容地址https://blog.csdn.net/Mr_zhangbz/article/details/1011

原创 leetcode經典問題的解法之刪除數組中的重複元素並返回數組長度

問題描述 https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/ 給定一個以及排好序的數組,要求刪除該數組中重複的元素,並且返回刪除元素後數組的長

原创 操作系統原理針對多進程互斥訪問同一臨界資源的機制

前面的博客種以及提過了關於進程同步的基本概念,想詳細瞭解的可轉https://blog.csdn.net/Mr_zhangbz/article/details/102534555這裏不再贅述 ##進程同步機制的提出 在對臨界區的資

原创 操作系統之對進程的描述以及進程的其他概念

進程的定義 進程的描述 爲了對併發執行的程序進行描述控制,引入了進程的概念,用於描述進程的數據結構稱爲進程控制塊PCB,進程是程序執行的一次過程,是系統資源分配以及處理機調度的基本單位 進程的組成 進程由三部分組成:程序段,數據

原创 python設計模式之工廠方法模式

工廠方法模式,屬於23種設計模式中的一種,在簡單工廠模式中,當系統中的具體產品類不斷增多時候,很難避免模塊功能的蔓延,對系統的維護和擴展非常不利,爲了避免這種影響,所以工廠方法的模式被引入到設計模式中,此模式的核心就是封裝類中變化