原创 進程組、作業、會話之間的關係

進程組: 概念:進程組是一個或多個進程的集合 每個進程除了有一個進程ID之外,還屬於一個進程組。通常與同一個作業相關聯,可以接收到來自同一個終端的信號。 每個進程組有一個唯一標識的進程組ID。 每個進程組都可以有一個組長進程,組

原创 順序棧與鏈式棧

棧 首先先對棧做簡單的認識: 棧作爲一種數據結構,是一種只能在一端進行插入和刪除操作的特殊線性表。它按照先進後出的原則存儲數據,先進入的數據被壓入棧底,最後的數據在棧頂,需要讀數據的時候從棧頂開始彈出數據(最後一個數據被第一個讀出

原创 棧和隊列的相關筆試面試題

在程序中引用的“seqstack.h”文件和“seqqueue.h”可以參見https://blog.csdn.net/Nessie_zhao/article/details/79917049 https://blog.csdn

原创 信號的捕捉與可重入函數

信號的捕捉 在信號的相關概念中曾提到如果一個信號沒有被Block,但被Pending,但不會立即遞達,而是在合適的時候,這裏的合適的時候是指:當進程從內核態返回用戶態時,會對信息進行檢測處理。 正如下圖所示,是系統在對信號進行捕

原创 Python初識

Python的特點 優雅 明確 簡單 Python支持多種編程風格 Python支持面向過程的編程風格。 Python支持面向對象的編程風格。數字、字符串、函數、模塊…都是“對象” Python支持函數式編程。世界上只有兩種編程語言,

原创 位圖和布隆過濾器

首先理解一下什麼是位圖什麼是布隆過濾器?? 位圖:用來快速判斷一個整數是否在一堆整數中 布隆過濾器:用來判斷一個字符串是否在一堆字符串裏 下面對布隆過濾器進行一些詳細的解釋 布隆過濾器其實是結合了位圖與哈希表,先將字符串用字符串哈希算法

原创 迷宮---多出口迷宮的最短路徑

如圖是一個有三個出口的迷宮,現在來求它的最短路徑(不帶環) 思想:定義兩個棧,一個棧存放當前路徑。一個棧存最短路徑,每次都將當前路徑和最短路徑比較如果當前路徑小於最短路徑,那就交換兩個棧中的元素 代碼實現: void MazeIn

原创 迷宮---是否存在路徑

迷宮求解問題已經是比較經典的題,下面就用兩種方法實現迷宮求解問題 迷宮求解的思想是回溯法,那什麼是回溯法??? 對一個包括有很多個節點,每個節點有若干個搜素分支的問題,把原問題分解爲若干個子問題求解的算法;當搜索到某個節點發現無法再繼續

原创 簡單的排序算法

常見的排序算法有以下7種: 冒泡排序 選擇排序 插入排序 堆排序 希爾排序 歸併排序 快速排序 我們通常說的排序算法往往指的是內部排序算法,即數據記錄在內存中進行排序 排序算法大體可分爲兩種: 1.一種是比較排序,時間複雜度爲O(

原创 用C++實現的日期類

#include <iostream> #include<assert.h> class Date { public: Date(int year = 1900,int month = 1,int day = 1)

原创 線程的同步與互斥

線程的同步與互斥: 互斥:當一個公共資源同一時刻只能被一個進程或線程使用,多個進程或線程不能同時使用公共資源。如:當線程A在使用打印機時,其他線程都需要等待。 同步:兩個或兩個以上的進程或線程在運行過程中協同步調,按預定的先後次序運行。

原创 堆的相關操作

要對堆進行操作首先應該清楚什麼是堆?堆:是計算機科學中一類特殊的數據結構的統稱,堆通常是一個可以被看做一棵樹的數組對象。堆的性質:堆的某個節點的值總是不大於或不小於其父節點的值;堆總是一棵完全二叉樹堆有大堆小堆之分,根節點最大的堆叫做最大

原创 類和對象

都說C++的編程思想是面向對象的 那麼什麼是面向對象?? 面向對象程序設計是一種程序設計範型,同時也是一種程序開發的方法。對象指的是類的實例,將對象作爲程序的基本單元,將程序和數據封裝其中,以提高軟件的重要性、靈活性和擴展性。 面向對

原创 軟件測試的相關概念

軟件測試的概念: 驗證軟件功能是否滿足用戶的需求 需求:你的期望 概念有兩層意思: 1.找Bug 2.驗證軟件是正確的 軟件的概念沒有錯與對,只是在每個不同的階段有不同的解釋 軟件測試的發展 1.軟件調試 2.獨立的軟件測試

原创 指針和引用

引用的概念: 引用不是定義一個新的變量,而是給一個已經定義的變量重新起一個別名。 引用定義的格式: 類型& 引用變量名 = 已定義過的變量名; 例如: int a = 10; int& b = a;//b是a的引用,b是a的別名 引用