原创 Bit-map

Bit-map就是用一個bit位來標記某個元素對應的Value, 而Key即是該元素。由於採用了Bit爲單位來存儲數據,因此在存儲空間方面,可以大大節省。 Map映射表 位移轉換 Bit-Map的應用

原创 排序/查找算法

主要排序法有: 一、冒泡(Bubble)排序——相鄰交換 二、選擇排序——每次最小/大排在相應的位置 三、插入排序——將下一個插入已排好的序列中 四、殼(Shell)排序——縮小增量 五、歸併排序 六、快速

原创 錦標賽排序

錦標賽排序的算法思想與體育比賽類似。 首先將n個數據元素兩兩分組,分別按關鍵字進行比較,得到n/2個比較的優勝者(關鍵字小者),作爲第一步比較的結果保留下來, 然後對這n/2個數據元素再兩兩分組,分別按關鍵

原创 選擇排序(selection sort)

選擇排序是從所有序列中先找到最小的,然後放到第一個位置。之後再看剩餘元素中最小的,放到第二個位置……以此類推,就可以完成整個的排序工作了。 尋找最小的元素需要一個循環的過程,而排序又是需要一個循環的過程。因此,算法的時間複雜度也

原创 歸併排序(Merge sort)

歸併排序是建立在歸併操作上的一種有效的排序算法,該算法是採用分治法(Divide and Conquer)的一個非常典型的應用。將已有序的子序列合併,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合併

原创 C/C++的自動類型轉換

自動類型轉換規則: 1) 若參與運算量的類型不同,則先轉換成同一類型,然後進行運算。 2) 轉換按數據長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型後再進行

原创 鏈表的基本操作

有鏈表的創建,增加、刪除節點,鏈表的逆序、排序和銷燬等。 #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct tag { int m_va

原创 快速排序(Quicksort)

快速排序(Quicksort)是對冒泡排序的一種改進。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然

原创 C/C++緩衝區的刷新問題

c/c++語言平常寫程序的時候我們經常會遇到這樣的情況,本來直接輸入的是這樣的數據,然而在讀取輸出的時候卻不是我們輸入時的數據。這是爲什麼呢? 原因就是我們在輸入的時候留下了垃圾,而我們定義的某個變量接受的數據正是“垃圾”而不是我

原创 C系類庫

C++類庫介紹 再次體現了C++保持核心語言的效率同時大力發展應用庫的發展趨勢!!在C++中,庫的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了設計庫來擴充功能要好過設計更多的語法的言論。現實中,

原创 http statusCode(狀態碼) 200、300、400、500序列

http statusCode(狀態碼) 200、300、400、500序列 201-206都表示服務器成功處理了請求的狀態代碼,說明網頁可以正常訪問。 200(成功) 服務器已成功處理了請求。通常,這表示服務器提供了請求的網頁。 20

原创 常見的查找算法

1)順序查找 /*包含頭文件*/ #include <stdio.h> #include <stdlib.h> #include <io.h> #include <math.h> #include <time.h> #de

原创 拓撲排序(topological-sort)

對一個有向無環圖(Directed Acyclic Graph簡稱DAG)G進行拓撲排序,是將G中所有頂點排成一個線性序列,使得圖中任意一對頂點u和v,若邊(u,v)∈E(G),則u在線性序列中出現在v之前。通常,這樣的線性序列稱

原创 SDK & MFC

SDK和MFC SDK —Software Development Kit 軟件開發包 MFC —MicroSoft Foundations Classes 微軟基礎類 API —Appli

原创 基數排序

基數排序(radix sort)屬於“分配式排序”(distribution sort),又稱“桶子法”(bucket sort)或bin sort,顧名思義,它是透過鍵值的部份資訊,將要排序的元素分配至某些“桶”中,藉以達到排序