原创 堆的實現

堆結構的二叉樹存儲是最大堆:每個父節點的都大於孩子節點。最小堆:每個父節點的都小於孩子節點。孩子節點下面,我們以小堆爲例,實現堆的建立:代碼如下:#pragma once #include<iostream> #include<vector

原创 堆的應用

優先級隊列      優先級隊列(priority queue) 是0個或多個元素的集合,每個元素都有一個優先權,對優先級隊列執行的操作有查找,插入一個新元素 ,刪除。 一般情況下,查找操作用來搜索優先權最大的元素,刪除操作用來刪除該元

原创 斐波那契數的兩種實現方式———1.遞歸實現,2迭代實現

    對於斐波那契數,若是採用遞歸的算法,每個遞歸調用都將觸發另外兩個遞歸調用,而這兩個中調用任意一個還會觸發另外兩個的調用。遞歸調用的時間複雜度O(2^N),空間複雜度爲O(N),所以在計算略大的數會花費一定的時間和空間。遞歸程序如下:

原创 判斷一棵樹是否爲完全二叉樹

       完全二叉樹:若一棵二叉樹具有具有n個節點,它的每個節點都與高度爲k的滿二叉樹編號爲0~n-1結點一一對應,則稱這可二叉樹爲完全二叉樹。方法一:一維數組存儲 根據完全二叉樹的定義和性質,利用一位數組作爲完全二叉樹的存儲,如下圖由

原创 Linux——學習篇(一)

一、熟悉馮·諾伊曼體系結構       馮·諾依曼體系結構馮·諾依曼理論的要點是:數字計算機的數制採用二進制;計算機應該按照程序順序執行。人們把馮·諾依曼的這個理論稱爲馮·諾依曼體系結構。  功能:把需要的程序和數據送至計算機中;必須具有長