【自考】——資料結構☞時間複雜度&平均查詢長度
明天上午就考資料結構導論了,已經不指望這次能幫助到某個小夥伴了
只是讓自己加深一下印象吧。
對於時間複雜度和平均查詢長度,個人有時候就弄混了,所以就總結整理一下,以便記憶。
排版方面日後修改
時間複雜度
迴圈佇列中,只設有頭指標
入隊=O(n) 出隊=O(1)
二分查詢法=O(log2n)
長度為m的單鏈表後接一個長度為n的單鏈表=O(m)
順序表 插入、刪除、定位=O(n)
順序表 讀取、求表長=O(1)
單鏈表 插入、刪除=O(1)
單鏈表 定位、讀取=O(n)
鄰接矩陣深度優先遍歷=O(n^2)
鄰接表深度優先遍歷=O(n+e)
拓撲排序演算法=O(n+e)
平局查詢長度
順序表=(n+1)/2
二分法=(n+1)/n㏒2(n+1)-1 n較大時=㏒2(n+1)-1
二叉排序數位於O(n)和O(㏒2(n))之間
相關推薦
【自考】——資料結構☞時間複雜度&平均查詢長度
明天上午就考資料結構導論了,已經不指望這次能幫助到某個小夥伴了 只是讓自己加深一下印象吧。 對於時間複雜度和平均查詢長度,個人有時候就弄混了,所以就總結整理一下,以便記憶。 排版方面日後修改
【PTA】——資料結構——01-複雜度2 Maximum Subsequence Sum
01-複雜度2 Maximum Subsequence Sum (25 分) Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is define
嚴蔚敏-資料結構-時間複雜度
T(n)=O(f(n))表示隨著問題規模n增大,演算法的增長率和f(n)的增長率一樣大。反應是是一種增長趨勢。 這裡的big o是cs中的一種表示方法,和高數裡的上界下界函式不是一個東西 需要記住的是: 增長率是分正負的 對數函式<冪函式<指數函式<n
【自考】 資料結構知識總結【CH7】
CH7 排序 1. 基本概念 排序就是將一組物件按照規定的次序重新排列的過程, 排序往往是為檢索服務的。 穩定性:相同鍵值兩個記錄在排序前後相對位置的變化情況。
【自考】 資料結構考前總結【CH4-CH6】
CH4 樹和二叉樹 1. 基本概念 結點的度 :樹上任一結點所擁有的子樹的數目稱為該樹的度。 葉子:度為0的結點稱為葉子或終端結點。 &nbs
【自考】 資料結構考前總結 【CH1-CH3】
CH1 資料結構概論 1. 邏輯結構:集合(CH6 查詢表),線性結構(CH2 線性表 、CH3 棧、佇列、陣列),樹形結構(CH4 樹和二叉樹),圖結構(CH5 圖) 2. 儲存結構:順序儲存、鏈式儲存(程式碼:初始化、插入、刪除)、索引
【自考】 資料結構考前總結 【CH1-CH3】
CH1 資料結構概論 1. 邏輯結構:集合(CH6 查詢表),線性結構(CH2 線性表 、CH3 棧、佇列、陣列),樹形結構(CH4 樹和二叉樹),圖結構(CH5 圖) 2. 儲存結構:順序儲存、鏈式儲存(程式碼:初始化、插入、刪除)、索引儲存、雜湊儲存。 3.
[資料結構] 時間複雜度的理解
時間複雜度:函式計算之行的基本次數 面試tip:面試官問及時間複雜度不一定只有最壞的,一般人一般會直接答最壞的,其實還有最好和平均。 例如:在一個長度為N的線性表中搜索一個數據x。 最壞:沒有找到,到
【自考】資料結構導論-線性表
前言 總覺得這次的自考才是真正準備自考的樣子,你付出了多少一定會有多少的回報,最終的感覺還是迴歸課本,做多少題最終還是要以課本為主啊,不管多細,反正是課本上的內容,還有課後題,非常重要了 在組長的帶領下,我們把書看的已經很熟悉了,但是對於我來說邏輯上的東西好理解,但是程式碼題真的是一
資料結構 時間複雜度 空間複雜度 一看就懂版本
時間複雜度 時間複雜度簡單的理解就是執行語句的條數。如果有迴圈和遞迴,則忽略簡單語句,直接算迴圈和遞迴的語句執行次數。 比如: int x = 1;//時間複雜度為O(1) for(int i=0; i<n; i++) { System.
【自考】資料結構
【前言】 資料結構是電腦科學中的一個專業的基礎,要用計算機解決一個問題,首先要對實際問題進行資料建模,描述資料的邏輯結構,將處理要求轉化成基本運算,然後建立對應的儲存結構,以便能被計算機儲存處
資料結構時間複雜度和空間複雜度
(1)演算法O(n),關注n的階數,當數十分大的時候,常數可以忽略。O(n)又稱為大O記法。 (2)T(n)=O(f(n)),隨著n變化而變化,f(n)是某個函式,執行的次數等於時間,一般情況下,T(
資料結構-時間複雜度計算詳解--向李紅老師的資料結構低頭 :)
今天早上突然想總結一下資料結構的時間複雜度的知識。 之前學了很多遍,但是一直沒有總結,所以之前參考了Algorithm還有清華大學出版的那個資料結構書,今天早上花了幾個小時好好的總結一下,也送給三班的同學們。 演算法的時間複雜度定義為: 在
【轉】演算法中時間複雜度概括——o(1)、o(n)、o(logn)、o(nlogn)
在描述演算法複雜度時,經常用到o(1), o(n), o(logn), o(
【資料結構和演算法】3~5 時間複雜度和空間複雜度
演算法效率的度量方法 容易想到的方法是:把演算法跑若干次,然後拿個計時器在旁邊計時。這種方法被稱為“事後諸葛亮”方法,也稱為事後分析估算方法。 事前分析估算方法:在計算機程式比編寫前,依據統計方法對演算法進行估算。 通過總結,我們發現,一個高階語言編寫程式在計算機上執行所消耗的時間取決於
【NOIP2015 提高組 資訊傳遞】【NOIP2017提高組DAY1T2 時間複雜度】【NOIP2017提高組DAY2T1 乳酪】
【NOIP2015 提高組 資訊傳遞】 tarjan * _ * 這道題用tarjan就可以了,判一下有向圖強聯通就好了, 如果強連通的點大於一就和ans取一個min。 【圖可能不聯通,所以要加一個迴圈】 #include<bits/stdc++.h>
[資料結構]01-複雜度2 Maximum Subsequence Sum
#include<stdio.h> #include <string.h> #define size 100050 int begin = 0, end = 0; int b = 0, e = 0; //定義成全域性變數方便修改 int FindMax(int
【作業】資料結構【線性表】
【題目】: 順序儲存的線性表A,其資料元素為整型,試編寫一演算法,將A拆成B和C兩個表,使A中元素值大於等於0的元素放入B,小於0的放入C中,要求: (1)、表B和表C另外設定儲存空間。 (2)、表B和表C不另外設定空間,而利用A的空間。 【分析】: 對於第一問,其
【3】資料結構與演算法---快速入門
第 2 章 快速入門 2.1 入門案例 案例:如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 為自然數),求出所有a、b、c可能的組合? 解決方案: 1.猜三個,條件匹配 2.猜兩個,另一個計算 演算法五特性: 輸入、輸出、有窮性、
【5】資料結構與演算法--- 演算法 進階
第 4 章 演算法 進階 4.1 排序 4.1.1 排序演算法簡介 排序:把無序的佇列變成有序的佇列 排序演算法:排序演算法是一種將一串無規律資料依照特定順序進行排列的一種方法或思路。 排序演算法的穩定性:佇列中有相同的元素,排序前後,這兩個相同元素的順序有沒