數據結構與算法(test1)

一、樹和二叉樹

1.? 看圖,完成以下填空

(1).樹的度為________。
(2).樹中結點的最大層次,稱為樹的_____或樹的______,值是______。
(3).結點A和B的度分別為________ 和 ________。
(4).結點A是結點B的________。
(5).結點B是結點A的________。
(6).樹的葉子結點:_________________________。

(7). n>0 時,根結點是唯一的,不可能存在多個根結點。(是否正確)
(8). n>0 時,樹中任意結點的子樹個數沒有限制,但它們之間一定是互不相交的。(是否正確)
?

2.? 回答以下問題(概念相關)

(1) 從形態上考慮,3個結點的樹有幾種情況,并畫出來。


(2) 從形態上考慮,3個結點的二叉樹有幾種情況,并畫出來。


(3) 二叉樹中是否存在度大于2的結點。(回答:是、否)


(4) 如果一個二叉樹是滿二叉樹,它的結點總數小于50,且不是空樹,請列舉出可能的結點總數。

(5) 請敘述滿二叉樹與完全二叉樹的差異。


(6) 完全二叉樹是否可能存在度為1的結點。(回答:是、否)

3.? 完成以下填空(性質相關)

(1) 二叉樹的第i層上最多有______個結點 (i >=1 )
(2) 深度為k的二叉樹最多有______個結點 (k >=1 )
(3) 具有100個結點的完全二叉樹,樹的深度_______.

4.? 完成以下填空(存儲相關)

(1) 樹的存儲表示法有那些_________________、_________________、_________________。
(2) 以下代碼是樹的那種存儲表示法:_________________。

# define MAX_TREE_SIZE 100struct Node
{int data;struct Node *parent;
};struct Tree
{struct Node nodes[MAX_TREE_SIZE];int size;
};

(3)完全二叉樹,由于它定義的嚴格,用順序結構也可以很經濟的表示,例如

數組形式:char nodes[] = {'A','B','C','D','E','F','G','H','I'};

以下是一個普通的二叉樹,請按完全二叉樹思路,不存在的結點用-1表示

請試著寫出數組形式:char nodes[] = ___________________________;

(4)請試著補全二叉樹鏈表的定義

struct Node
{int data;struct Node ________, _________;
};

5.? 請寫出下圖二叉樹的遍歷序列(遍歷相關)

前序遍歷這顆二叉樹的節點順序是:_________________________________。

中序遍歷這顆二叉樹的節點順序是:_________________________________。

后序遍歷這顆二叉樹的節點順序是:_________________________________。

6.? 請將下圖,轉換為二叉樹

7.? 請畫出以下序列的哈夫曼樹,并計算該二叉樹的帶權路徑長度WPL值。

A:5, E:10, B:15, D:30, E:40

二、線性表

1. 從線性表的定義,找出請認為的2個核心關鍵詞

線性表定義: 零個或多個數據元素的有限序列。

2. 請描述順序存儲的優點、缺點

3. 請描述鏈式存儲的優點、缺點

三、隊列、棧

1. 具有“先進先出”特點的存儲結構是______.

2. 具有“先進后出”特點的存儲結構是______.

四、緒論(概念:總結、回顧)

(1) 數據結構可分為________結構和_________結構。

(2) 數據的邏輯結構有那些:___________________________________________________.

(3) 數據的物理結構有那些:___________________________________________________.

(4) 算法分析的兩個主要方面:____________、____________________.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/894866.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/894866.shtml
英文地址,請注明出處:http://en.pswp.cn/news/894866.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

新版AndroidStudio 修改 jdk版本

一、問題 之前,在安卓項目中配置JDK和Gradle的過程非常直觀,只需要進入Android Studio的File菜單中的Project Structure即可進行設置,十分方便。 如下圖可以在這修改JDK: 但是升級AndroidStudio之后,比如我升級到了Android Stu…

litemall,又一個小商場系統

litemall Spring Boot后端 Vue管理員前端 微信小程序用戶前端 Vue用戶移動端 代碼地址:litemall: 又一個小商城。 litemall Spring Boot后端 Vue管理員前端 微信小程序用戶前端 Vue用戶移動端

cursor 開發java項目教程簡單上手

1.官網下載 Cursor - The AI Code Editor 下載完后注冊賬號,可以使用無限郵的方式 注冊完之后 設置中文 可以選擇設置為中文 Ctrl Shift X 進入設置頁面輸入chinese 然后重啟 更改jdk跟maven倉庫設置 ctrlshiftp 打開輸入框后輸入json,把下面代碼…

安裝和使用 Ollama(實驗環境windows)

下載安裝 下載 https://ollama.com/download/windows 安裝 Windows 安裝 如果直接雙擊 OllamaSetup.exe 安裝,默認會安裝到 C 盤,如果需要指定安裝目錄,需要通過命令行指定安裝地址,如下: # 切換到安裝目錄 C:\Use…

[原創](Modern C++)現代C++的關鍵性概念: 文件編碼細節之一:BOM(Byte Order Mark, 字節順序標記)

常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 開發工具: Visual Studio、Delphi、XCode、Eclipse、C Bui…

LQB(0)-python-基礎知識

一、Python開發環境與基礎知識 python解釋器:用于解釋python代碼 方式: 1.直接安裝python解釋器 2.安裝Anaconda管理python環境 python開發環境:用于編寫python代碼 1.vscode 2.pycharm # 3.安裝Anaconda后可以使用網頁版的jupyter n…

C# 中記錄(Record)詳解

從C#9.0開始,我們有了一個有趣的語法糖:記錄(record)   為什么提供記錄? 開發過程中,我們往往會創建一些簡單的實體,它們僅僅擁有一些簡單的屬性,可能還有幾個簡單的方法,比如DTO等等&#xf…

使用 CSS 實現透明效果

在 CSS 中,實現透明效果有幾種方法,具體使用哪種方法取決于具體需求。以下是一些常見的方法: 使用 opacity 屬性: opacity 屬性可以設置整個元素的透明度,包括其所有的子元素。 .transparent { opacity: 0.5; /* 0 表…

MS17-010(永恒之藍1.0)漏洞遠程控制win7系統操作實戰小白通俗易懂

1.準備環境win7操作系統(被攻擊機)以及kali系統(攻擊機),kali使用msf工具進行攻擊。 2.打開kali終端,進入msf,輸入msfconsole然后等待啟動。 ┌──(root?kali-chifan)-[~] └─# msfconsole…

C語言:函數棧幀的創建和銷毀

目錄 1.什么是函數棧幀2.理解函數棧幀能解決什么問題3.函數棧幀的創建和銷毀的過程解析3.1 什么是棧3.2 認識相關寄存器和匯編指令3.3 解析函數棧幀的創建和銷毀過程3.3.1 準備環境3.3.2 函數的調用堆棧3.3.3 轉到反匯編3.3.4 函數棧幀的創建和銷毀 1.什么是函數棧幀 在寫C語言…

25/2/6 <機器人基礎> 運動學中各連桿的變換矩陣求法

變換矩陣 機器人通常包含多個關節和連桿,每個關節和連桿都有自己的局部坐標系。變換矩陣能夠將一個點或向量從一個坐標系轉換到另一個坐標系,從而實現對機器人各個部件位置和姿態的統一描述 變換矩陣能夠將復雜的運動分解為旋轉和平移的組合。通過矩陣乘…

AllData數據中臺核心菜單十二:數據同步平臺

🔥🔥 AllData大數據產品是可定義數據中臺,以數據平臺為底座,以數據中臺為橋梁,以機器學習平臺為中層框架,以大模型應用為上游產品,提供全鏈路數字化解決方案。 ?奧零數據科技官網:…

【FPGA】 MIPS 12條整數指令 【3】

實現乘除 修改框架 EX:實現帶符號乘除法和無符號乘除法 HiLo寄存器:用于存放乘法和除法的運算結果。Hi、Lo為32bit寄存器。電路描述與實現RegFile思想一致 仿真 代碼 DataMem.v include "define.v"; module DataMem(input wire clk,input…

【原子工具】快速冪 快速乘

題冪算.一切即1 陰陽迭變積微著,疊浪層巒瞬息功 莫道浮生千萬事,元知萬象一歸宗 文章目錄 快速冪原始快速冪(O(logn))二分遞歸形式非遞歸形式 模下意義的快速冪(O(logn))二分遞歸形式非遞歸形式 快速乘龜速…

文件基礎IO

理解"文件" 1-1 狹義理解 文件在磁盤里磁盤是永久性存儲介質,因此文件在磁盤上的存儲是永久性的磁盤是外設(即是輸出設備也是輸入設備)磁盤上的文件 本質是對文件的所有操作,都是對外設的輸入和輸出簡稱IO 1-2 廣義理…

Unity 簡易的UI框架

核心內容 UIType.cs namespace MYTOOL.UI {/// <summary>/// UI層級/// </summary>public enum UILayer{/// <summary>/// 主界面層/// </summary>MainUI 0,/// <summary>/// 普通界面層/// </summary>NormalUI 1,/// <summary>/…

VUE2雙向綁定的原理

文章目錄 VUE2雙向綁定的原理1. 什么是雙向綁定2. 雙向綁定的原理2.1 ViewModel的重要作用2.2 雙向綁定的流程 3. 雙向綁定的實現3.1 data響應化處理3.2 Compile編譯3.3 依賴收集 VUE2雙向綁定的原理 1. 什么是雙向綁定 講雙向綁定先講單項綁定&#xff0c;啥叫單項綁定&…

4G核心網的演變與創新:從傳統到虛擬化的跨越

4G核心網 隨著移動通信技術的不斷發展&#xff0c;4G核心網已經經歷了從傳統的硬件密集型架構到現代化、虛擬化網絡架構的重大轉型。這一演變不僅提升了網絡的靈活性和可擴展性&#xff0c;也為未來的5G、物聯網&#xff08;LOT&#xff09;和邊緣計算等技術的發展奠定了基礎。…

云計算——AWS Solutions Architect – Associate(saa)1、什么是云,AWS介紹

什么是云? 什么是云? 云計算(cloud computing)是基于互聯網的相關服務的增加、使用和交付模式&#xff0c;通常涉及通過互聯網來提供動態易護展且經常是虛擬化的資源。云是網絡、互聯網的一種比喻說法。 簡單理解為&#xff1a;云是 共享資源&#xff0c;按需付費&#xff0…

HTML排版標簽、語義化標簽、塊級和行內元素詳解

目錄 前言 一、HTML中的排版標簽 1. 文本相關標簽 1.1 標題標簽 ~ 1.2 段落標簽 1.3 強調和加粗 1.4 換行標簽 1.5 水平線標簽 二、HTML中的語義化標簽 2.1 語義化標簽概述 2.2 常見的語義化標簽 示例&#xff08;核心代碼部分&#xff09;&#xff1a; 三、HTM…