HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    與算法(算理與算法)

    發(fā)布時間:2023-04-19 03:45:59     稿源: 創(chuàng)意嶺    閱讀: 100        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于與算法的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    與算法(算理與算法)

    一、關(guān)于算法與算理

    什么是算理?

    算理就是計(jì)算過程中的道理,是指計(jì)算過程中的思維方式,解決“為什么這樣算”,這樣算的道理是什么。算理一般由數(shù)學(xué)概念、運(yùn)算規(guī)律、運(yùn)算性質(zhì)等構(gòu)成。就是教師根據(jù)概念,性質(zhì),定義為依據(jù)對計(jì)算方法加以說明。如:小數(shù)乘法的算理就是積的變化規(guī)律,小數(shù)除法的算理就是商不變的規(guī)律。

    什么是算法?

    算法就是計(jì)算的方法,主要解決“怎樣計(jì)算”的問題。通常是算理指導(dǎo)下的一些人為規(guī)定的操作步驟,解決如何算得方便、準(zhǔn)確的問題。如:小數(shù)乘法的算法:先按照整數(shù)乘法算出積,再看因數(shù)中一共有幾位小數(shù)就從積的右邊數(shù)出幾位點(diǎn)上小數(shù)點(diǎn)。

    整數(shù)(小數(shù))加法:算法:把相同數(shù)位對齊列出豎式,再從個位加起,滿十向前一位進(jìn)一。算理:依據(jù)數(shù)的組成意義,推出相同計(jì)數(shù)單位(分?jǐn)?shù)單位)的數(shù)才能相加減。算理也可以理解為加法交換律和結(jié)合律。整數(shù)(小數(shù))減法:算法:相同數(shù)位對齊,從個位減起,哪一位不夠減就從前一位退一,在本位上加10再減。

    算理:依據(jù)數(shù)的組成和意義概念,推出相同計(jì)數(shù)單位的數(shù)才能相加減。十進(jìn)制計(jì)數(shù)法。

    算理與算法的關(guān)系是什么?

    算理是客觀存在的規(guī)律,算法是人為規(guī)定的操作方法;算理為計(jì)算提供了正確的思維方式,保證了計(jì)算的合理性和正確性,算法為計(jì)算提供了快捷的操作方法,提高了計(jì)算的速度;算理是算法的理論依據(jù),算法是算理的提煉和概括,它們是相輔相成的。教學(xué)中不可放棄任何一方面。

    在教學(xué)中如何處理算理和算法的關(guān)系?

    既要讓學(xué)生知道怎么算,又要知道為什么要這樣算,知其然又知其所以然,這是計(jì)算教學(xué)的根本。在教學(xué)時要讓學(xué)生在感悟、理解算理的基礎(chǔ)上生成、(創(chuàng)造)出算法,到最后掌握算法。

    一般情況下,一個單元的起始例題,是整個單元的基礎(chǔ)和關(guān)鍵。要用足時間重點(diǎn)突破。使學(xué)生扎扎實(shí)實(shí)地理解算理,掌握算法。

    二、數(shù)據(jù)結(jié)構(gòu)與算法——字符串匹配問題(KMP算法)

    KMP算法也是比較著名的模式匹配算法。是由 D.E.Knuth,J.H.Morrs VR.Pratt 發(fā)表的一個模式匹配算法??梢源蟠蟊苊庵貜?fù)遍歷的情況。

    如果使用暴風(fēng)算法的話,前面五個字母完全相等,直到第六個字母 "f" "x" 不相等。如下圖:

    T = “abcdex”

    j 123456

    模式串 abcdex

    next[j] 011111

    T = "abcabx"

    j 123456

    模式串T abcabx

    next[j] 011123

    T = "ababaaaba"

    j———————123456789

    模式串T——— ababaaaba

    next[j]————011234223

    T = "aaaaaaaab"

    j———————123456789

    模式串T——— aaaaaaaab

    next[j]————012345678

    next數(shù)組其實(shí)就是求解字符串要回溯的位置

    假設(shè),主串S= “abcababca”;模式串T=“abcdex”,由以上分析得出next數(shù)組為011111,next數(shù)組意味著當(dāng)主串與模式串不匹配時,都需要從第一個的位置重新比較。

    KMP算法也是有缺陷的,比如主串S=“aaaabcde”,模式串T= “aaaaax”。next的數(shù)組就是012345;

    當(dāng)開始匹配時,當(dāng)i= 5,j = 5時,我們發(fā)現(xiàn)字符"b"與字符“a”不相等,如上圖,j = next[5] = 4;

    由于T串的第二、三、四、五位置的字符都與首位“a”相等,那么可以用首位next[1]的值去取代與它相等的后續(xù)字符的next[j],那么next數(shù)組為{0,0,0,0,0,5};

    在求解nextVal數(shù)組的5種情況

    三、數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)知識

    1.數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)

    (1)集合結(jié)構(gòu)

    (2)線性結(jié)構(gòu)(存在唯一的第一個元素與唯一的最后一個元素)(eg: 線性表、隊(duì)列、棧、字符串、數(shù)組、鏈表)

    (3)樹形結(jié)構(gòu)(一對多)

    (4)圖形結(jié)構(gòu)(多對多)

    2.數(shù)據(jù)結(jié)構(gòu)的物理(存儲)結(jié)構(gòu)

    (1).順序存儲結(jié)構(gòu)(插入與刪除低效因?yàn)橐矂悠渌氐奈恢?。但是遍歷簡單)

    (2).鏈?zhǔn)酱鎯Y(jié)構(gòu)(插入與刪除高效,但是遍歷低效)

    3.大O表示法(注意大O表示法表達(dá)的是最壞的情況)

    規(guī)則:

    (1)用常數(shù)1取代其他所有的常數(shù)(注意常數(shù)0也當(dāng)1算)(3 -> 1, O(1))

    (2) 只保留最高階項(xiàng)(n^3+2n^2+5 ->n^3, O(n^3))

    (3) 若存在最高階,省略與其想成的常數(shù)(2n^3 -> n^3, O(n^3))

    4. 時間復(fù)雜度類型

    (1)常數(shù)階

    (2)線性階

    (3)平方階

    (4)對數(shù)階

    (5)立方階

    (6)nlog階

    (7)指數(shù)階(O(2^n)或O(n!), 往往會造成噩夢般的時間消耗)

    5. 空間復(fù)雜度(用大O表示法求解改算法的輔助空間即可,例如用于交換變量用的臨時變量的數(shù)量)

    六. 順序存儲的線性表

    線性表結(jié)構(gòu)特點(diǎn):

    (1) 存在唯一一個的被稱作”第一個”的數(shù)據(jù)元素;

    (2) 存在唯一一個的被稱作”第二個”的數(shù)據(jù)元素;

    (3) 除了第一個元素以外,結(jié)構(gòu)中的每個數(shù)據(jù)元素均有一個前驅(qū);

    (4) 除了最后一個元素以外,結(jié)構(gòu)中的每個數(shù)據(jù)元素均有一個后繼。

    七. 鏈?zhǔn)酱鎯Φ木€性表(單鏈表)

    首元結(jié)點(diǎn)是鏈表中第一個值域不為空的結(jié)點(diǎn)。

    頭結(jié)點(diǎn)是一個值域?yàn)榭涨姨幱谑孜坏慕Y(jié)點(diǎn)。

    首指針可指向首元結(jié)點(diǎn)也可指向頭結(jié)點(diǎn),但是如果指向頭結(jié)點(diǎn)可以更加方便的處理單鏈表的插入和刪除問題,不用再對首位做額外判斷,并且指向頭節(jié)點(diǎn)的指針永遠(yuǎn)不用變化。

    *注意一下單鏈表的前插法和尾插法。尾插法更符合邏輯

    四、19年3月二級C--數(shù)據(jù)結(jié)構(gòu)與算法

    1.假設(shè)線性表的長度為n,則最壞情況下:

    冒泡排序: 需要經(jīng)過n/2遍的從前往后掃描和n/2遍從后往前掃描,需要比較的次數(shù)為n(n-1)/2。總的時間復(fù)雜度為O(n的平方)。

    快速排序: 比較次數(shù)也是n(n-1)/2??偟臅r間復(fù)雜度為O(n的平方)。

    直接插入排序: 所需要比較的次數(shù)為n(n-1)/2。總的時間復(fù)雜度為O(n的平方)。

    希爾排序所需要比較的次數(shù)為O(n的1.5次方)。(時間復(fù)雜度小于以上三種)

    堆排序: 最壞情況下,其時間復(fù)雜度為O(nlogn)。(小于O(n的平方))。

    2.根據(jù)數(shù)據(jù)結(jié)構(gòu)中各元素之間前后關(guān)系的復(fù)雜程度,一般數(shù)據(jù)結(jié)構(gòu)分為兩大類: 線性結(jié)構(gòu)和非線性結(jié)構(gòu)。

    如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件,①有且只有一個根結(jié)點(diǎn) ②每個結(jié)點(diǎn)最多有一個前件,也最多有一個后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。

    3.算法時間復(fù)雜度與空間復(fù)雜度沒有關(guān)系。

    4.所謂算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。

    為了能夠比較客觀的反映出一個算法的效率,在度量一個算法的工作量時,不僅應(yīng)該與所用的計(jì)算機(jī)程序設(shè)計(jì)語言,以及程序編制者無關(guān),而且還應(yīng)該與算法實(shí)現(xiàn)過程中的許多細(xì)節(jié)無關(guān)。

    5.同一問題可用不同算法解決,而一個算法的質(zhì)量優(yōu)劣將影響到算法乃至程序的效率。

    算法分析的目的在于選擇合適算法和改進(jìn)算法。

    6.堆排序在平均情況下的時間復(fù)雜度與最壞情況下的時間復(fù)雜度都是O(nlogn)。

    7.二叉鏈表: 以二叉鏈表作為樹的存儲結(jié)構(gòu)。鏈表中結(jié)點(diǎn)的兩個鏈域分別指向該結(jié)點(diǎn)的第一個孩子結(jié)點(diǎn)和第一個孩子下的一個兄弟結(jié)點(diǎn)。

      循環(huán)鏈表是鏈?zhǔn)酱鎯Y(jié)構(gòu),循環(huán)隊(duì)列是線性存儲結(jié)構(gòu)。( 【×】循環(huán)鏈表是循環(huán)隊(duì)列的鏈?zhǔn)酱鎯Y(jié)構(gòu))

      雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個數(shù)據(jù)結(jié)點(diǎn)都有兩個指針,分別指向直接后繼和直接前驅(qū),所以從雙鏈表中的任意一個結(jié)點(diǎn)開始都可以很方便地訪問它的前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)。

    8.數(shù)據(jù)的邏輯結(jié)構(gòu)由兩個要素: 一是數(shù)據(jù)元素的集合,通常記為D。二是D上的關(guān)系,它反映了D中各元素之間的前后件關(guān)系,通常記為R。

    即一個數(shù)據(jù)結(jié)構(gòu)可以表示成B=(D,R),其中B表示數(shù)據(jù)結(jié)構(gòu),為了反映D中各元素之間的前后件關(guān)系,一般用二元組來表示。例如,假如a與b是D中的兩個數(shù)據(jù),則二元組表示a是b的前件,b是a的后件。

      線性結(jié)構(gòu)用圖形表示更加直觀。例如: R={(5,1),(7,9),(1,7),(9,3)},結(jié)構(gòu)為: 5→1→7→9→3

    9.快速排序法是一種互換類的排序方法,但由于比冒泡排序的速度快,因此稱為快速排序。

    其基本思想是從線性表中選擇一個元素設(shè)為t,將線性表后面小于t的元素移到前面,而前面大于t的元素移到后面,結(jié)果就將線性表分成了兩部分,t插入到分界線的位置處,這個過程稱為線性表的分割。

      簡單插入排序法,是指將無序序列中的各元素依次插入到已經(jīng)有序的線性表中。

      冒泡排序法是一種最簡單的交換類排序方法,它是通過相鄰數(shù)據(jù)元素的交換,逐步將線性表變?yōu)橛行颉?/p>

      后兩種元素的移動過程中不會產(chǎn)生新的逆序。

    10.程序可作為算法的一種描述。

    11.為了降低算法的空間復(fù)雜度,要求算法盡量采用原地工作,所謂的原地工作是指執(zhí)行算法時所使用的額外空間固定。

      一個算法的空間復(fù)雜度一般是指執(zhí)行這個算法所需要的內(nèi)存空間,一個算法所占用的存儲空間包括程序所占的空間,輸入的初始數(shù)據(jù)所占的空間以及算法執(zhí)行過程中所需要的額外空間。

    12.能從任意一個結(jié)點(diǎn)開始沒有重復(fù)的掃描到所有結(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)是循環(huán)鏈表。

    13.循環(huán)隊(duì)列是隊(duì)列的一種存儲結(jié)構(gòu)

    14.算法的設(shè)計(jì)要求包括效率與低存儲量,即要考慮算法的時間復(fù)雜度與空間復(fù)雜度。

      算法的復(fù)雜度包括時間復(fù)雜度和空間復(fù)雜度。

      時間復(fù)雜度: 是指執(zhí)行算法所需要的計(jì)算工作量。

      空間復(fù)雜度: 一般是指執(zhí)行這個算法所需要的內(nèi)存空間。

    15.棧是一種特殊的線性表。鏈?zhǔn)浇Y(jié)構(gòu)把每一個存儲結(jié)點(diǎn)分為數(shù)據(jù)域與指針域,帶鏈的棧可以通過指針域的變化改變原有的棧的組織數(shù)據(jù)原則; 而順序棧的棧底指針不變,棧頂指針改變。

    16.堆排序在最壞的情況下需要比較nlogn次。

      快速排序,在最壞情況下需要比較n(n-1)/2次。

      順序查找,在最壞情況下需要比較n次。

      最壞情況下,二分查找需要log2n(小于n-1)

      在長度為n的順序表中尋找最大項(xiàng)/最小項(xiàng)時,比較次數(shù)最少為1,最多為n-1。

    17.如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件,①有且只有一個根節(jié)點(diǎn) ②每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件,則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)。如果一個數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱為非線性結(jié)構(gòu)。

    18.帶鏈??盏臈l件是 top=bottom=NULL

    19.滿二叉樹也是完全二叉樹,完全二叉樹不一定是滿二叉樹。對于滿二叉樹和完全二叉樹來說,可以按照程序進(jìn)行順序存儲,不僅節(jié)省了空間,又能方便地確定每一個結(jié)點(diǎn)的父結(jié)點(diǎn)等于左右子結(jié)點(diǎn)的位置,但順序存儲結(jié)構(gòu)對于一般的二叉樹不適用。

    20.帶鏈棧隊(duì)頭指針與隊(duì)尾指針相同,且不為空時,隊(duì)列元素個數(shù)為1; 若為空時,隊(duì)列元素個數(shù)為0。

    帶鏈棧的棧底指針是隨棧的操作而動態(tài)變化的。

    21.二叉樹的鏈?zhǔn)酱鎯Y(jié)構(gòu),也稱為二叉鏈表。在二叉樹中,由于每一個元素可以有兩個后件,因此用于存儲二叉樹的存儲結(jié)點(diǎn)的指針域有兩個,所以二叉鏈表屬于非線性結(jié)構(gòu)。

    22.線性表由一組元素?cái)?shù)據(jù)元素構(gòu)成,各元素的數(shù)據(jù)類型必須相同,矩陣是一個比較復(fù)雜的線性表,線性表除了插入和刪除運(yùn)算之外,還可以查找,排序,分解,合并等。數(shù)組是長度固定的線性表。

    23.冒泡排序中,在互換兩個相鄰元素時,只能消除一個逆序; 快速排序及希爾排序中,一次交換可以消除多個逆序。

    24.二分法檢索的效率比較高,設(shè)線性表有n個元素,則最多的比較次數(shù)為log2n,最少檢索次數(shù)為1。

    25.循環(huán)鏈表的結(jié)構(gòu)具有以下兩個特點(diǎn)。一,在循環(huán)鏈表中,增加了一個表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蛘吒鶕?jù)需要來設(shè)置指針域指向線性表的第一個元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。二、循環(huán)鏈表中最后一個節(jié)點(diǎn)的指針域不是空,而是指向表頭結(jié)點(diǎn),即在循環(huán)鏈表中所有的結(jié)點(diǎn)指針構(gòu)成一個環(huán)狀鏈。

    26.二叉樹的存儲結(jié)構(gòu)是非線性結(jié)構(gòu),而完全二叉樹是特殊形態(tài)的二叉樹。采用順序存儲的完全二叉樹屬于非線性結(jié)構(gòu)。

    27.時間復(fù)雜度和計(jì)算機(jī)運(yùn)行速度以及存儲空間無關(guān)。

    算法的空間復(fù)雜度和存儲結(jié)構(gòu)無關(guān)。

    數(shù)據(jù)處理效率與數(shù)據(jù)的存儲結(jié)構(gòu)有關(guān)。

    28.線性表,向量,棧,隊(duì)列都屬于線性結(jié)構(gòu)的順序存儲。

    29.循環(huán)隊(duì)列是隊(duì)列的存儲結(jié)構(gòu)。

      循環(huán)鏈表是另一種形式的念式存儲結(jié)構(gòu)。

      (✘循環(huán)鏈表是循環(huán)隊(duì)列的鏈?zhǔn)酱鎯Y(jié)構(gòu)。✘)

    30.完全二叉樹的總結(jié)點(diǎn)為奇數(shù)時,葉子結(jié)點(diǎn)是總結(jié)點(diǎn)加一再除以二。

    31.在實(shí)際處理中,可以用一位數(shù)組來存儲堆序列中的元素,也可以用完全二叉樹來直觀的表示堆的結(jié)構(gòu)。在用完全二叉樹表示堆時,樹中所有非葉子結(jié)點(diǎn)值均不小于其左,右子樹的根結(jié)點(diǎn)值,因?yàn)槎秧斣乇仨殲樾蛄械膎個元素的最大項(xiàng),因此其中序并不是有序序列。

      多重鏈表指表中每個結(jié)點(diǎn)由兩個或兩個以上的指針域的鏈表。如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件,①有且只有一個根結(jié)點(diǎn),②每個結(jié)點(diǎn)最多有一個前件,也最多有一個后件,則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),所以多重鏈表不一定是非線性結(jié)構(gòu)。

      在計(jì)算機(jī)中二叉樹通常采用鏈?zhǔn)酱鎯Y(jié)構(gòu),對于滿二叉樹和完全二叉樹來說,可以按層次進(jìn)行順序存儲。

      排序二叉樹的中序遍歷序列是有序序列。

    32.對于一個固定的規(guī)模,算法所執(zhí)行的基本運(yùn)算次數(shù)還可能與特定的輸入有關(guān)。

    33.在線性表中尋找最大項(xiàng)時,平均情況下和最壞情況下比較次數(shù)都是n-1。

    34.在長度為n的順序表中查找一 個元素, 假沒需要查找的元素有一半的機(jī)會在表中,并且如果元素在表中,則出現(xiàn)在表中每個位置上的可能性是相

    同的。則在平均情況下需要比較的次數(shù)大約為_

    A.3n/4    B.n    C.n/2  D.n/4

    本題的考查知識點(diǎn)是順序表的存儲結(jié)構(gòu)。

    因?yàn)樾枰檎业脑赜幸话霗C(jī)會在表中,所以二分之一的情況下平均比較次數(shù)為n/2,另二分之一的情況下平均比較次數(shù)為n。總的平均比較次數(shù)為(n/2+n) /2-3n/4。

    故本題答案為A。

    35.設(shè)數(shù)據(jù)結(jié)構(gòu)B=(D, R),其中

    D={a,b,c,d,e,f}

    R={(a,b),(b,c),(c,d),(d,e),(e,f),(f,a)}該數(shù)據(jù)結(jié)構(gòu)為

    A.線性結(jié)構(gòu)    B.循環(huán)隊(duì)列

    C.循環(huán)鏈表    D.非線性結(jié)構(gòu)

    本題的考查知識點(diǎn)是數(shù)據(jù)結(jié)構(gòu)。

    如果一個非控的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件: 1) 有且只有一個根節(jié)點(diǎn); 2) 每一一個結(jié)點(diǎn)最多有一一個前件,也最多有一一個后件。則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu)。如果一個數(shù)據(jù)結(jié)構(gòu)不是線性結(jié)構(gòu),則稱之為非線性結(jié)構(gòu)。

    數(shù)據(jù)結(jié)構(gòu)B=(D, R)中, 每一個結(jié)點(diǎn)均有一個前件,不符合“有且只有一個根節(jié)點(diǎn)”的條件,所以為非線性結(jié)構(gòu)。故本題答案選D。

    36.某帶鏈的隊(duì)列初始狀態(tài)為front=rear=NULL。經(jīng)過一系列正常的入隊(duì)與退隊(duì)操作后,front=rear=10。 該隊(duì)列中的元素個數(shù)為_

    A.1    B.0    C.1或0    D.不確定

    本題的考查知識點(diǎn)是帶鏈隊(duì)列。

    在初始狀態(tài)為front=rear=NULL的帶鏈隊(duì)列入隊(duì)時,如果插入的結(jié)點(diǎn)既是隊(duì)首結(jié)點(diǎn)又是隊(duì)尾結(jié)點(diǎn),則rear和front同時指向這個結(jié)點(diǎn);否則在循環(huán)隊(duì)列的隊(duì)尾加入一一個新元素,rear指向新增結(jié)點(diǎn)的數(shù)據(jù)域,rear+1, front不變。 退隊(duì)時,在循環(huán)隊(duì)列的排頭位置退出一個元素并賦給指定的變量,front指向第二個結(jié)點(diǎn)的數(shù)據(jù)域,front+1, rear不變。當(dāng)front=rear=10時, front和rear同時指向這個唯一 元素,所以該隊(duì)列中的元素個數(shù)為1。

    故本題答案為A。

    37.若二叉樹沒有葉子結(jié)點(diǎn),則為空二叉樹。

    38.某帶鏈棧的初始狀態(tài)為top=bottom=NULL, 經(jīng)過一系列正 常的入棧與退棧操作后,top=10, bottom=20。 該棧中的元素個數(shù)為_____。

    A.不確定    B. 10    C.1    D.0

    本題考查的知識點(diǎn)是棧。

    帶鏈的棧是具有棧屬性的鏈表,線性鏈表的存儲單元是不連續(xù)的,為把存儲空間中一-些離散的空閑存 儲結(jié)點(diǎn)利用起來,把所有空閑的結(jié)點(diǎn)組織成一個帶鏈的棧,稱為可利用棧。

    線性鏈表執(zhí)行刪除操作運(yùn)算時, 被刪除的結(jié)點(diǎn)可以”回收到可利用棧,對應(yīng)于可利用棧的入棧運(yùn)算;線性鏈表執(zhí)行插入運(yùn)算時,需要一個新的結(jié)點(diǎn),可以在可利用棧中取棧頂結(jié)點(diǎn),對應(yīng)于可利用棧的退棧運(yùn)算。

    可利用棧的入棧運(yùn)算和退棧運(yùn)算只需要改動top指針即可。因?yàn)槭遣贿B續(xù)的存儲空間,所以top指針將不會有規(guī)律地連續(xù)變化,因此無法據(jù)此判斷棧中的元素個數(shù)。

    所以本題答案為A。

    以上就是關(guān)于與算法相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    人工智能原理與算法(人工智能原理與算法張文生)

    人工智能模型與算法(人工智能研究方法)

    與算法(算理與算法)

    伊賀忍者餐飲品牌設(shè)計(jì)圖(伊賀忍者餐飲品牌設(shè)計(jì)圖片)

    飯圈素材無水?。埲λ夭臒o水印圖片)