原创 赫夫曼(Huffman)樹/編碼
一 . 基本概念: 赫夫曼樹:給定帶權的N個葉子構成的所有二叉樹中,樹的帶權路徑長度最小的二叉樹(最優二叉樹) 帶權路徑長度:所有樹葉到樹根之間的路徑長度與該節點上權的乘積 權:賦予節點的有意義的參數 二
原创 python - 根據表達式打印真值表
輸入邏輯表達式,輸出真值表,支持六個基本邏輯運算 最終效果: 輸入合適公式(沒有考慮優先級,只根據括號優先),輸出時會提取其中的元素(比如這裏有A B C),並打印真值表。 算法思路: 求值的一般順序是:帶入每個元
原创 C++多線程編程(真實入門!)
5分鐘學會簡單的C++多線程編程前言線程教程創建一個線程:CreateThread()創建一個帶參線程:lpParameter參數等待指定線程結束:WaitForSingleObject()多線程資源加鎖:CreateMutex(
原创 01揹包,完全揹包,多重揹包,混合揹包詳解
文章轉載至:https://www.cnblogs.com/kuangbin/archive/2011/11/16/2250560.html P01: 01揹包問題 題目: 有N件物品和一個容量爲V的揹包。第i件物品的費用是c[i
原创 STL - emplace 與 push 的區別
(我的STL相關的博客目錄:https://blog.csdn.net/Kprogram/article/details/90408011) 這裏用stack來進行舉例操作 第一點,push 的操作可以直接用於emplace: 1
原创 STL - vector用法總結
(我的STL相關的博客目錄:https://blog.csdn.net/Kprogram/article/details/90408011) (vector-c++官網:http://www.cplusplus.com/reference
原创 Python - 多進程使用教程
什麼是Multiprocessing? 大部分計算機cpu都是多核的,爲了提高效率,把程序分配到多個核裏面同時運行,這就叫多進程。 Python提供了一個mulitprocessing 庫來實現多進程 (本文是學習
原创 c++實現線程池(真實入門!)
10分鐘學會用C++編寫一個簡單的線程池(使用windows.h頭文件)前言基本概念代碼實現“任務”的封裝線程池框架構建成員函數實現測試 前言 這是我們操作系統專業課的一次編程作業,作爲菜雞的我搜索了大量的線程池博客,但不是代 碼
原创 STL - stack用法總結
(我的STL相關的博客目錄:https://blog.csdn.net/Kprogram/article/details/90408011) (stack-c++官網:http://www.cplusplus.com/reference/
原创 最短路徑:Dijkstra算法
本篇博客是我對《算法競賽入門經典》一書上內容的理解和提煉,代碼以及邏輯都是源於此書,若想更細緻的學習,還請移步原作。 注:Dijkstra算法適用於邊權爲正的無向和有向圖,不適用於有負邊權的圖!(原因) 用途: 用於求圖中指定兩點
原创 STL - string用法總結
(我的STL相關的博客目錄:https://blog.csdn.net/Kprogram/article/details/90408011) (string-c++官網:http://www.cplusplus.com/reference
原创 STL - queue用法總結
(我的STL相關的博客目錄:https://blog.csdn.net/Kprogram/article/details/90408011) (queue-c++官網:http://www.cplusplus.com/reference/
原创 python - 文件操作教程
彙總了常用的文件處理方法 本文分爲兩部分,第一部分用於快速上手,第二部分用於系統地學習 第一部分:快速應用(幾分鐘學會簡單的讀寫操作) 這部分內容適用於大多情況了 創建文件:在當前目錄創建一個文件 用 open() 創建文件:
原创 DFS(深度優先遍歷) & BFS:(廣度優先遍歷)
DFS (Deep First Search) 概念: 顧名思義,這種遍歷方法是以深度爲優先進行對圖的搜索或者遍歷,至於什麼是以深度爲優先條件,先看下面DFS的基本步驟: ( 這是一個遞歸思想的DFS) DFS:
原创 python - pyqt數字時鐘
用pyqt5實現一個簡易的數字時鐘 時鐘功能: 計時,開始與暫停,刷新並返回csdn訪問量 使用到的庫: PyQt5: pyqt應用:QApplication 窗口:QWidget 按鈕:QPushBu