網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
數(shù)組
概念
- 數(shù)組:按一定格式排列起來(lái)的,具有相同類型的數(shù)據(jù)元素的集合。
- 線性表結(jié)構(gòu)是數(shù)組結(jié)構(gòu)的一個(gè)特例, 而數(shù)組結(jié)構(gòu)又是線性表結(jié)構(gòu)的擴(kuò)展。
- 數(shù)組特點(diǎn):結(jié)構(gòu)固定。定義后,維數(shù)和維界不再改變。
- 基本操作:除了結(jié)構(gòu)的初始化和銷毀之外, 只有取元素和修改元素值的操作,不做插入和刪除的操作。
- 數(shù)組中數(shù)據(jù)元素具有相同的數(shù)據(jù)類型。
- 數(shù)組中的每個(gè)數(shù)據(jù)元素都有對(duì)應(yīng)的下標(biāo)。
- 數(shù)組是一種隨機(jī)存儲(chǔ)結(jié)構(gòu),可隨機(jī)存取數(shù)組中的任意數(shù)據(jù)元素。
- 注意:數(shù)組可以是多維的,但存儲(chǔ)數(shù)據(jù)元素的內(nèi)存單元地址是一維的,因此,在存儲(chǔ)數(shù)組結(jié)構(gòu)之前,需要解決將多維關(guān)系映射到一維關(guān)系的問(wèn)題。 ?
一維數(shù)組
- 一維數(shù)組:若線性表中的數(shù)據(jù)元素為非結(jié)構(gòu)的簡(jiǎn)單元素, 則稱為一維數(shù)組。
- 一維數(shù)組的邏輯結(jié)構(gòu):線性結(jié)構(gòu)。定長(zhǎng)的線性表。
- 聲明格式: 數(shù)據(jù)類型?變量名稱[長(zhǎng)度];(C語(yǔ)言格式)
- ?int array[5] = {0, 1, 2, 3, 4};
- 聲明格式: 數(shù)據(jù)類型[] 變量名稱;(Java格式)
- int[] array = {1, 2, 3, 4}; //靜態(tài)
- int[] array = new int[4]; //動(dòng)態(tài)
二維數(shù)組
- 二維數(shù)組:若一維數(shù)組中的數(shù)據(jù)元素又是一維數(shù)組結(jié)構(gòu),則稱為二維數(shù)組。
- 二維數(shù)組主要有兩種存儲(chǔ)方式:按行優(yōu)先存放(以行為主序),按列優(yōu)先存放(以列為主序)
- 二維數(shù)組的邏輯結(jié)構(gòu)
- ?非線性結(jié)構(gòu):每一個(gè)數(shù)據(jù)元素既在一個(gè)行表中,又在一個(gè)列表中。
- 線性結(jié)構(gòu)(定長(zhǎng)的線性表):該線性表的每個(gè)數(shù)據(jù)元素也是一個(gè)定長(zhǎng)的線性表。
- 聲明格式: 數(shù)據(jù)類型 變量名稱[行數(shù)][列數(shù)];(C語(yǔ)言格式)
- ??int array[5][5];
- ?聲明格式: 數(shù)據(jù)類型[][]?變量名稱;(Java格式)
-
int[][] array = {{1, 1, 1}, {2, 3, 4, 5}, {0, 0, 0, 0}};
-
?基本操作
?
特殊矩陣的壓縮存儲(chǔ)?
概念
- 特殊矩陣:一個(gè)矩陣內(nèi)的元素(非零元素:1,2,3...?或?零元素:0)的分布有著一定的規(guī)律。在高階矩陣的情況下,可以利用特殊矩陣的分布規(guī)律對(duì)它們進(jìn)行壓縮存儲(chǔ),已達(dá)到提高存儲(chǔ)空間的效率。
- 壓縮存儲(chǔ):若多個(gè)數(shù)據(jù)元素的值都相同,則只分配一個(gè)元素值的存儲(chǔ)空間,零元素不占用存儲(chǔ)空間。
- 對(duì)稱矩陣,對(duì)角矩陣,稀疏矩陣,三角矩陣都是特殊矩陣的主要形式,都是方陣,并且行列數(shù)都相同。
對(duì)稱矩陣
- 如何辨別什么是對(duì)稱矩陣?
- 在一個(gè)行列數(shù)相同n階方陣(A[n][n])中元素a滿足下標(biāo)i,j = j,i(i >= 0, j <= n - 1)的情況,那么這樣的一個(gè)n階方陣就叫對(duì)稱矩陣。
- 存儲(chǔ)方法:只存儲(chǔ)下(或者上)三角(包括主對(duì)角線)的 數(shù)據(jù)元素。共占用n(n + 1) / 2個(gè)元素空間,如果以行序?yàn)橹餍颍瑒t元素下標(biāo)為a[n(n + 1) / 2]。?
?
?
?三角矩陣
- 上三角矩陣:指矩陣下三角部分中的元素均為常數(shù)c的n階方陣。
- 下三角矩陣:指矩陣上三角部分中的元素均為常數(shù)c的n階方陣。
???
- 存儲(chǔ)方法:重復(fù)元素c共享一個(gè)元素存儲(chǔ)空間,共占用n (n + 1) / 2 + 1個(gè)元素 空間:s[1...n (n + 1) / 2 + 1]?
對(duì)角矩陣?
- 若一個(gè)n階方陣A滿足其所有非零元素都集中在以主對(duì)角線為中心的帶狀區(qū)域中,則稱其為n階對(duì)角矩陣。?
????
?
稀疏矩陣
- 矩陣m * n中非零元素t的個(gè)數(shù)較少(一般小于5%),t / m * n <= 0.05,則稱為稀疏矩陣
- 稀疏矩陣的分布沒(méi)有規(guī)律,具有隨機(jī)性
- 稀疏矩陣的表示方法:三元組,十字鏈表
- 三元組順序表:又稱有序的雙下標(biāo)法。存儲(chǔ)稀疏矩陣中的非零元素的行,列,值,一般存儲(chǔ)在第二行依次往下,第一行存儲(chǔ)的是矩陣的行,列,非零元素的個(gè)數(shù)
- 優(yōu)點(diǎn):非零元在表中按行序有序存儲(chǔ),因此便于進(jìn)行依行順序處理的矩陣運(yùn)算。
- 缺點(diǎn):不能隨機(jī)存取。若按行號(hào)存取某一行中的非零元,則需從頭開(kāi)始進(jìn)行查找。
????
?
- 十字鏈表的優(yōu)點(diǎn):它能夠靈活地插入因運(yùn)算而產(chǎn)生的新的非零元素, 刪除因運(yùn)算而產(chǎn)生的新的零元素,實(shí)現(xiàn)矩陣的各種運(yùn)算。
- 在十字鏈表中,矩陣的每一個(gè)非零元素用一個(gè)結(jié)點(diǎn)表示, 該結(jié)點(diǎn)除了(row,col,value)以外,還要有兩個(gè)域:
- ?right:用于鏈接同一行中的下一個(gè)非零元素
- down:用于鏈接同一列中的下一個(gè)非零元素
???
原文鏈接:https://blog.csdn.net/weixin_47957908/article/details/129625811
- 上一篇:沒(méi)有了
- 下一篇:沒(méi)有了
相關(guān)推薦
- 2023-05-06 python?字典的概念敘述和使用方法_python
- 2023-02-06 Python類中__init__()?和self的詳細(xì)解析_python
- 2022-12-09 C++?Boost?Optional示例超詳細(xì)講解_C 語(yǔ)言
- 2022-12-10 Android入門之日歷選擇與時(shí)間選擇組件的使用_Android
- 2022-07-19 Python數(shù)據(jù)分析之?Pandas?Dataframe合并和去重操作_python
- 2022-01-27 laravel的服務(wù)注入新增service層,多方式
- 2022-06-21 Android?studio實(shí)現(xiàn)兩個(gè)界面間的切換_Android
- 2022-06-22 詳解Linux下find查找文件命令和grep查找文件命令_linux shell
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支