【數據結構】數據結構,算法 概念

0.本篇問題:?

  1. 數據、數據元素、數據對象、數據項之間的基本關系?
  2. ADT是什么?
  3. 數據結構的三要素?
  4. 數據的邏輯結構有哪些?
  5. 數據的存儲結構有哪些?
  6. 算法的五個特征?
  7. O(1)? O(logn) ?O(n^n)? O(n) ?O(n^2)? ? O(n^3) ?O(2^n) ?O(n!) ?O(nlogn) 大小關系?

★ 錯題&典型題

1. 可以用( )定義一個完整的數據結構

A.數據元素????????B.數據對象????????C.數據關系????????D.抽象數據類型

2.以下屬于邏輯結構的是( )

A.順序表????????B.哈希表????????C.有序表????????D.單鏈表

3.以下關于數據結構的說法中,正確的是( )

A.數據結構的邏輯結構獨立于其存儲結構

B.數據結構的存儲結構獨立于其邏輯結構

C.數據的邏輯結構唯一決定其存儲結構

D.數據結構僅由其邏輯結構和存儲結構決定

4.一個算法應該是( )

A.程序????????B.問題求解步驟的描述????????C.要滿足五個基本特性????????D. A和C

5.某算法的時間復雜度為O(n^2),則表示該算法的( )

A.問題規模是n^2?????????????????? B.執行時間等于n^2????????

C.執行時間與n^2成正比????????D.問題規模與n^2成正比

6.【2017】?求下面程序時間復雜度

int func(int n) {int i = 0, sum = 0;while (sum < n)	sum += ++i;return i;
}

7.【2019】求下面程序時間復雜度?

x = 0;
while (n >= (x + 1) * (x + 1))x = x + 1;

8.【2022】求下面程序時間復雜度

int sum = 0;
for (int i = 1; i < n; i *= 2)for (int j = 0; j < i; j++)sum++;

一、數據、數據元素、數據對象、數據項、數據結構、數據類型

1.1 概念(P1)

  • 數據結構是相互之間存在一種或多種特定關系的數據元素的集合;它包括三方面的內容:邏輯結構,存儲結構,數據的運算。
  • 數據對象是具有相同性質的數據元素的集合,是數據的一個子集;
  • 數據是信息的載體,是描述客觀事物屬性的數、字符及所有能輸入到計算機中并被計算機程序識別和處理的符號的集合;
  • 數據元素是數據的基本單位,通常作為一個整體進行考慮和處理;
  • 一個數據元素有若干數據項組成,數據項是構成數據元素的不可分割的最小單位。
  • 數據類型:原子類型、結構類型、抽象數據類型(ADT):描述了數據的邏輯結構和抽象運算,通常用(數據對象,數據關系,基本操作)這樣的三元組來表示,eg.棧、隊列,樹...(ADT和數據密切相關,但不完全相同)

1.2? 我的理解

  1. 數據項是最小的,數據是最大的;
  2. 數據項構成數據元素;
  3. 數據元素構成數據對象;
  4. 所有數據對象的總和是數據。

  5. 數據結構是相互之間存在一種或多種特定關系的數據元素的集合。(數據元素+關系)
  6. 數據對象是具有相同性質的數據元素的集合,是數據的一個子集。(數據元素)
  • 世界上所有的信息、符號的總和是數據。
  • 這些數據有所有大學學生數據(數據對象),所有餐廳顧客數據(數據對象),XX大學學生數據(數據對象),所有動物的XX數據(數據對象)...
  • XX大學同學ABCD...數據(數據元素),...
  • 班級學生有自己的學號(數據項),姓名(數據項),年齡(數據項)...
  • 數據結構是帶存儲關系的同學ABCD...的數據(通過它你不僅知道這些數據,還知道它們之間的關系是怎樣的,如何存儲的)
  • 數據對象,數據元素,數據項根據研究內容的不同都是相對的,這項研究中的數據元素可能是下一項研究中的數據對象。

二、數據結構的三要素

2.1 數據結構三要素

邏輯結構,存儲結構,運算????????知存儲就知邏輯,知邏輯不一定知存儲!

????????2.2.1 邏輯結構

? ? ? ? ? ? ? ? 四類基本結構:線性結構、集合(同屬一個集合無其他關系)、樹形、圖狀結構(網狀結構)。

????????2.2.2 存儲結構

? ? ? ? ? ? ? ? ①順序存儲

? ? ? ? ? ? ? ? ②鏈式存儲

? ? ? ? ? ? ? ? ③索引存儲(索引表中每項是索引項(關鍵字,地址)) 優點:檢索快,缺點:索引表額外占據存儲空間;增刪要修改索引表,時間花費多。

? ? ? ? ? ? ? ? ④散列存儲(哈希存儲)

? ? ? ? 2.2.3 運算

? ? ? ? ? ? ? ? 施加在數據上的運算,包括運算的定義和實現。運算的定義是針對邏輯結構的,指出運算的功能;運算的實現是針對存儲結構的,指出運算的具體操作步驟。

三、算法?

3.1 算法的概念和特征

????????算法是對特定問題求解步驟的一種描述,他是指令的有限數列,其中的每條指令表示一個或多個操作。

? ? ? ? 特征:①有窮性 ②確定性 ③可行性 ④輸入>=0 ⑤輸出>=1

3.2 時間復雜度&空間復雜度?

? ? ? ? 是問題規模n的函數。

Q:算法問題規模永遠是A:不是。在算法中,問題規模不一定是n。

n通常用來表示輸入規模,比如在一個排序算法中,n可能代表要排序的元素個數。但問題規模也可以用其他方式來衡量。?
例如,在圖算法中,除了用頂點數量n來表示問題規模,還可能會涉及邊的數量m。對于一些復雜的算法,如計算兩個圖的同構問題,問題規模可能是由多個因素共同決定的,包括頂點數、邊數、頂點和邊的屬性等復雜因素。
在矩陣運算相關的算法中,矩陣的行數和列數都可能影響問題規模,而不是簡單地用一個n來表示。

? ? ? ? 常見的漸進時間復雜度比較:

? ? ? ? O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

答案:1.D????????2.C????????3.A? ? ? ? 4.B? ? ? ? 5.C? ? ? ? 6.O(n^(1/2))????????7.O(n^(1/2))????????8.O(n)

-THE END-

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

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

相關文章

同步Oracle及mysql至KADB的KFS配置文件參考

Oracle源端flysync.ini文件 注意&#xff1a;oracle用戶名大寫 mysql源端flysync.ini文件 附&#xff1a;目標端KADB的flysync.ini文件 [m_kes_3113] 源端為KES kufl-port3113 datasource-typekingbase rolemaster replication-host10.4.43.53 replication-port54321 …

PECL(Positive Emitter-Coupled Logic)電平詳解

一、PECL電平的定義與核心特性 PECL&#xff08;正射極耦合邏輯&#xff09;是一種基于 射極耦合邏輯&#xff08;ECL&#xff09;技術 的高速差分信號標準&#xff0c;采用 正電源供電&#xff08;如5V或3.3V&#xff09;。其核心特性包括 高速傳輸、低噪聲、強抗干擾能力&am…

以 ArcGIS Pro 為筆,繪就水墨地圖畫卷

一、引言 水墨畫&#xff0c;作為中國傳統繪畫藝術的瑰寶&#xff0c;以其獨特的韻味和表現力&#xff0c;在藝術領域占據著重要地位。它通過水與墨的交融&#xff0c;展現出山水之間的靈動與韻味。 而將這種藝術形式與現代地理信息系統&#xff08;GIS&#xff09;技術相結合…

軟考網絡安全專業

隨著信息技術的迅猛發展&#xff0c;網絡安全問題日益凸顯&#xff0c;成為社會各界普遍關注的焦點。在這樣的背景下&#xff0c;軟考網絡安全專業應運而生&#xff0c;為培養高素質的網絡安全人才提供了有力支撐。本文將對軟考網絡安全專業進行深入剖析&#xff0c;探討其在信…

在線 SQL 轉 SQLAlchemy:一鍵生成 Python 數據模型

一款高效的在線 SQL 轉 SQLAlchemy 工具&#xff0c;支持自動解析 SQL 語句并生成 Python SQLAlchemy 模型代碼&#xff0c;適用于數據庫管理、后端開發和 ORM 結構映射。無需手寫 SQLAlchemy 模型&#xff0c;一鍵轉換 SQL 結構&#xff0c;提升開發效率&#xff0c;簡化數據庫…

自定義tiptap插件

本文為開發開源項目的真實開發經歷&#xff0c;感興趣的可以來給我的項目點個star&#xff0c;謝謝啦~ 具體博文介紹&#xff1a; 開源&#xff5c;Documind協同文檔&#xff08;接入deepseek-r1、支持實時聊天&#xff09;Documind &#x1f680; 一個支持實時聊天和接入 - 掘…

網絡安全需要學多久才能入門?

網絡安全是一個復雜且不斷發展的領域&#xff0c;想要入行該領域&#xff0c;我們需要付出足夠多的時間和精力好好學習相關知識&#xff0c;才可以獲得一份不錯的工作&#xff0c;那么網絡安全需要學多久才能入門?我們通過這篇文章來了解一下。 學習網絡安全的入門時間因個人的…

EG82088串口邊緣計算網關

EG82088串口邊緣計算網關 EG8208是一款專業級8路獨立隔離型RS485通訊控制器,通過Modbus及JSON支持、靈活的TCP/IP和UDP切換、內置監控自診斷等特性,廣泛應用于工業自動化、樓宇管理等領域,為用戶提供卓越的數據采集和設備管理解決方案。 接口類型&#xff1a;8RS485/8DO/1LAN協…

Linux下GCC和C++實現帶多組標簽的Snowflake SQL查詢批量數據導出程序

設計一個基于多個帶標簽Snowflake SQL語句作為json配置文件的Linux下GCC的C代碼程序&#xff0c;實現根據不同的輸入參數自動批量地將Snowflake數據庫的數據導出為CSV文件到本地目錄上&#xff0c;標簽加擴展名.csv為導出數據文件名&#xff0c;文件已經存在則覆蓋原始文件。需…

Trae AI 輔助修復uniapp 微信小程序的Bug

一、transparent的兼容問題 設計稿&#xff1a; 實際在iphone 6 plu上&#xff1a; 直接讓Trae AI修復&#xff1a; 修改后驗證通過。 二、v-if分支中子元素根據輸入框中內容長度動態添加class樣式失效 遇到了個“怪問題”&#xff0c;在其他手機或者開發者工具都正常。也…

conda install 和 pip install 的區別

conda install 和 pip install 是兩個常用的包安裝命令&#xff0c;但它們在很多方面存在差異。 1. 所屬管理系統不同 1.1 conda install conda install 是Anaconda和Miniconda發行版自帶的包管理工具 conda 的安裝命令。conda 是一個跨平臺的開源包管理系統和環境管理系統&…

uni-app App 端分段導出 JSON 數據為文件

在開發過程中&#xff0c;我們經常需要將大量數據導出為 JSON 文件&#xff0c;尤其是在處理長列表或大數據集時。然而&#xff0c;直接將所有數據寫入一個文件可能會導致性能問題&#xff0c;尤其是在移動設備上。為了優化性能并提高用戶體驗&#xff0c;我們可以將數據分段導…

視頻推拉流EasyDSS案例分析:互聯網直播/點播技術與平臺創新應用

隨著互聯網技術的快速發展&#xff0c;直播/點播平臺已成為信息傳播和娛樂的重要載體。特別是在電視購物領域&#xff0c;互聯網直播/點播平臺與技術的應用&#xff0c;不僅為用戶帶來了全新的購物體驗&#xff0c;也為商家提供了更廣闊的營銷渠道。傳統媒體再一次切實感受到了…

MySQL再次基礎 向初級工程師邁進

作者&#xff1a;在計算機行業找不到工作的大四失業者 Run run run ! ! ! 1、MySQL概述 1.1數據庫相關概念 1.2MySQL數據庫 2、SQL 2.1SQL通用語法 SQL語句可以單行或多行書寫&#xff0c;以分號結尾。SQL語句可以使用空格/縮進來增強語句的可讀性。MySQL數據庫的SQL語句不區…

手寫一個簡易版的tomcat

Tomcat 是一個廣泛使用的開源 Servlet 容器&#xff0c;用于運行 Java Web 應用程序。深入理解 Tomcat 的工作原理對于 Java 開發者來說是非常有價值的。本文將帶領大家手動實現一個簡易版的 Tomcat&#xff0c;通過這個過程&#xff0c;我們可以更清晰地了解 Tomcat 是如何處理…

VSTO(C#)Excel開發8:打包發布安裝卸載

初級代碼游戲的專欄介紹與文章目錄-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代碼都將會位于ctfc庫中。已經放入庫中我會指出在庫中的位置。 這些代碼大部分以Linux為目標但部分代碼是純C的&#xff0c;可以在任何平臺上使用。 源碼指引&#xff1a;github源…

如何逐步迭代衍生出一個網絡安全產品

逐步迭代衍生出一個網絡安全產品需要結合市場需求、技術趨勢和用戶反饋&#xff0c;通過系統化的開發和優化過程來實現。以下是逐步迭代的詳細步驟&#xff1a; 1. 確定市場需求和產品定位 市場調研&#xff1a;分析當前網絡安全市場的痛點和趨勢&#xff0c;如云安全、零信任、…

uni-app打包h5并部署到nginx,路由模式history

uni-app打包有些坑&#xff0c;當時運行的基礎路徑填寫了./&#xff0c;導致在二級頁面刷新之后&#xff0c;頁面直接空白。就只能換一個路徑了&#xff0c;nginx也要跟著改&#xff0c;下面是具體步驟。 manifest.json配置web 運行路徑寫/h5/&#xff0c;或者寫你們網站的目…

Ceph(1):分布式存儲技術簡介

1 分布式存儲技術簡介 1.1 分布式存儲系統的特性 &#xff08;1&#xff09;可擴展 分布式存儲系統可以擴展到幾百臺甚至幾千臺的集群規模&#xff0c;而且隨著集群規模的增長&#xff0c;系統整體性能表現為線性增長。分布式存儲的水平擴展有以下幾個特性&#xff1a; 節點…

Linux驅動開發實戰(五):Qt應用程序點RGB燈(保姆級快速入門!)

Linux驅動開發實戰&#xff08;五&#xff09;&#xff1a;Qt應用程序點RGB燈&#xff08;保姆級快速入門&#xff01;&#xff09; 文章目錄 Linux驅動開發實戰&#xff08;五&#xff09;&#xff1a;Qt應用程序點RGB燈&#xff08;保姆級快速入門&#xff01;&#xff09;前…