從LabVIEW 2019開始推出了兩種新的數(shù)據(jù)類型,分別是集合與映射表,它們都屬于LabVIEW之前從未關(guān)注的一種數(shù)據(jù)類型—群體。NI介紹:群體是聚合同類數(shù)據(jù)的容器,群體中的每個(gè)對(duì)象為群體的元素或條目,使用群體數(shù)據(jù)類型創(chuàng)建用于存儲(chǔ)和訪問數(shù)據(jù)的高性能數(shù)據(jù)結(jié)構(gòu)。由此可見群體數(shù)據(jù)類型類似于簇或數(shù)組,是存放簡(jiǎn)單數(shù)據(jù)類型的容器,同時(shí)它可以高效地存取數(shù)據(jù)。
本系列文章小編將介紹LabVIEW中的群體數(shù)據(jù)類型—集合與映射表,本篇文章為系列文章的第一篇—LabVIEW中的集合。下面請(qǐng)跟隨小編一起來學(xué)習(xí)吧!
本文分享:
LabVIEW中的集合
?
一、 集合的概念
集合是一個(gè)數(shù)學(xué)概念,它是指具有某種特定性質(zhì)的具體的或抽象的對(duì)象匯總而成的集體。其中,構(gòu)成集合的這些對(duì)象稱為該集合的元素,每一個(gè)元素僅在集合中出現(xiàn)一次,不會(huì)重復(fù)出現(xiàn),換句話說就是集合中的元素是確定且唯一的。 在LabVIEW中,集合中的元素可以是任意基本數(shù)據(jù)類型(如數(shù)值、字符串、數(shù)組、簇等),LabVIEW中的集合是將相同類型的唯一有序數(shù)據(jù)元素歸為一個(gè)集合。
二、?集合的API 生成集合:使用輸入的所有元素創(chuàng)建一個(gè)集合。重復(fù)元素僅在結(jié)果集合中出現(xiàn)一次,每個(gè)輸入的元素?cái)?shù)據(jù)類型必須相同。
插入集合:給已有集合中插入一個(gè)新的元素后輸出結(jié)果集合并返回該元素是否已包含在集合中,如果元素未包含在集合中則返回F,否則返回T。
從集合中刪除:從已有集合中刪除指定元素后輸出結(jié)果集合并返回該元素是否包含在集合中,如果元素包含在集合中則返回F,否則返回T。
集合的元素?:查詢輸入的集合中是否包含輸入元素,如果包含則返回T,如果不包含則返回F。
讀取集合最大值和最小值:集合中的元素是唯一且確定的,同時(shí)它也是一個(gè)有序的,該API可以獲取到一個(gè)集合中的最大元素和最小元素。
群體大小:返回輸入的群體的元素個(gè)數(shù),即群體的大小。(該API集合和映射表通用)
空群體:當(dāng)輸入的群體中元素個(gè)數(shù)為零時(shí)返回T。(該API集合和映射表通用)
二、?集合的運(yùn)算
集合的并集:計(jì)算兩個(gè)集合的并集,并集是屬于任一集合的所有元素。
下圖說明了此VI如何計(jì)算兩個(gè)集合的并集。兩個(gè)圓圈代表兩個(gè)集合。綠色部分是并集。
集合的交集:計(jì)算兩個(gè)集合的交集。交集是屬于兩個(gè)集合的所有元素。
下圖說明了此VI如何計(jì)算兩個(gè)集合的交集。兩個(gè)圓圈代表兩個(gè)集合。綠色部分是交集。
集合的笛卡爾積:計(jì)算兩個(gè)集合的笛卡爾積。笛卡爾積是一組兩個(gè)元素的簇,涵蓋了兩個(gè)集合元素的所有可能組合。 ?
以下前面板演示了當(dāng)集合1為{Down, Up}且集合2為{2, 3, 4}時(shí),此VI如何計(jì)算笛卡爾積。 ?
集合的差集:計(jì)算兩個(gè)集合的差集。差集是第一個(gè)集合中包含但第二個(gè)集合中不包含的元素。
下圖說明了此VI如何計(jì)算兩個(gè)集合的差集。兩個(gè)圓圈代表兩個(gè)集合。綠色部分是差集。
? ? 集合的對(duì)稱差:計(jì)算兩個(gè)集合的對(duì)稱差。對(duì)稱差是兩個(gè)集合的并集和交集的差集。
下圖說明了此VI如何計(jì)算兩個(gè)集合的對(duì)稱差。兩個(gè)圓圈代表兩個(gè)集合。綠色部分是對(duì)稱差。 ?
三、?集合的相關(guān)知識(shí)
1、由于集合按照有序順序維護(hù)元素,相比未排序的數(shù)據(jù)結(jié)構(gòu)(如數(shù)組),集合能夠?qū)?shù)據(jù)進(jìn)行更快地搜索、插入、更改及移除操作(集合操作數(shù)據(jù)的時(shí)間復(fù)雜度低于數(shù)組操作數(shù)據(jù)時(shí)的時(shí)間復(fù)雜度,所以效率較高),并且對(duì)于較大的數(shù)據(jù)同樣適用。
2、集合按照有序順序維護(hù)元素的操作將占用內(nèi)存開銷,數(shù)組不占用內(nèi)存開銷。
3、集合可以通過循環(huán)的索引輸入訪問到每個(gè)元素,并且再通過一次索引輸出轉(zhuǎn)換成一個(gè)數(shù)組,如下圖所示:
以上就是本篇關(guān)于LabVIEW中集合的所有內(nèi)容啦。
編輯:黃飛
?
評(píng)論
查看更多