哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

插入排序算法的復(fù)雜性、性能、分析

星星科技指導(dǎo)員 ? 來(lái)源:NVIDIA ? 作者:Richmond Alake ? 2022-04-08 14:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

算法在數(shù)據(jù)科學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域很常見(jiàn)。算法為社交媒體應(yīng)用程序、谷歌搜索結(jié)果、銀行系統(tǒng)等提供動(dòng)力。因此,數(shù)據(jù)科學(xué)家和 機(jī)器學(xué)習(xí) 實(shí)踐者在分析、設(shè)計(jì)和實(shí)現(xiàn)算法方面擁有直覺(jué)是至關(guān)重要的。

當(dāng)應(yīng)用于大規(guī)模計(jì)算任務(wù)時(shí),高效算法為公司節(jié)省了數(shù)百萬(wàn)美元,并減少了內(nèi)存和能源消耗。本文介紹了一種簡(jiǎn)單的算法,插入排序。

雖然知道如何實(shí)現(xiàn)算法是必不可少的,但本文也包括了數(shù)據(jù)科學(xué)家在選擇利用時(shí)應(yīng)該考慮的插入算法的細(xì)節(jié)。因此,本文提到了算法復(fù)雜性、性能、分析、解釋和利用等因素。

為什么?

重要的是要記住為什么數(shù)據(jù)科學(xué)家應(yīng)該在解釋和實(shí)現(xiàn)之前研究數(shù)據(jù)結(jié)構(gòu)和算法。

數(shù)據(jù)科學(xué)和 ML 庫(kù)和包抽象了常用算法的復(fù)雜性。此外,由于抽象,需要 100 行代碼和一些邏輯推導(dǎo)的算法被簡(jiǎn)化為簡(jiǎn)單的方法調(diào)用。這并沒(méi)有放棄數(shù)據(jù)科學(xué)家研究算法開(kāi)發(fā)和數(shù)據(jù)結(jié)構(gòu)的要求。

當(dāng)給定一組要使用的預(yù)構(gòu)建算法時(shí),確定哪種算法最適合這種情況需要了解基本算法的參數(shù)、性能、限制和魯棒性。數(shù)據(jù)科學(xué)家可以在分析并在某些情況下重新實(shí)現(xiàn)算法后了解所有這些信息。

選擇正確的特定于問(wèn)題的算法和排除算法故障的能力是理解算法的兩個(gè)最重要的優(yōu)勢(shì)。

K-Means 、 BIRCH 和 Mean Shift 都是常用的 clustering 算法,數(shù)據(jù)科學(xué)家決不具備從頭開(kāi)始實(shí)施這些算法的知識(shí)。盡管如此,數(shù)據(jù)科學(xué)家仍有必要了解每種算法的特性及其對(duì)特定數(shù)據(jù)集的適用性。

例如,基于質(zhì)心的算法有利于高密度數(shù)據(jù)集,在這些數(shù)據(jù)集中可以清楚地定義集群。相反,在處理噪聲數(shù)據(jù)集時(shí),首選基于密度的算法,如 DBSCAN (基于密度的帶噪聲應(yīng)用程序空間聚類(lèi))。

在排序算法的上下文中,數(shù)據(jù)科學(xué)家遇到了數(shù)據(jù)湖和數(shù)據(jù)庫(kù),在這些數(shù)據(jù)湖和數(shù)據(jù)庫(kù)中,如果對(duì)包含的數(shù)據(jù)進(jìn)行排序,則遍歷元素以識(shí)別關(guān)系的效率更高。

識(shí)別適用于數(shù)據(jù)集的庫(kù)子例程需要了解各種排序算法和首選的數(shù)據(jù)結(jié)構(gòu)類(lèi)型。使用數(shù)組時(shí),快速排序算法是有利的,但如果數(shù)據(jù)以鏈表形式顯示,則合并排序的性能更高,尤其是在大數(shù)據(jù)集的情況下。不過(guò),兩者都使用分而治之的策略對(duì)數(shù)據(jù)進(jìn)行排序。

出身背景

什么是排序算法?

排序問(wèn)題是數(shù)據(jù)科學(xué)家和其他軟件工程師面臨的一個(gè)眾所周知的編程問(wèn)題。排序問(wèn)題的主要目的是按升序或降序排列一組對(duì)象。排序算法是執(zhí)行的順序指令,用于將列表或數(shù)組中的元素有效地重新排序?yàn)樗璧捻樞颉?/p>

分類(lèi)的目的是什么?

在數(shù)據(jù)領(lǐng)域中,數(shù)據(jù)集中元素的結(jié)構(gòu)化組織支持高效遍歷和快速查找特定元素或組。在宏觀層面上,使用高效算法構(gòu)建的應(yīng)用程序轉(zhuǎn)化為引入我們生活的簡(jiǎn)單性,如導(dǎo)航系統(tǒng)和搜索引擎。

插入排序是什么?

插入排序算法涉及基于列表中每個(gè)元素與其相鄰元素的迭代比較創(chuàng)建的排序列表。

指向當(dāng)前元素的索引指示排序的位置。排序開(kāi)始時(shí)(索引= 0 ),將當(dāng)前值與左側(cè)相鄰的值進(jìn)行比較。如果該值大于當(dāng)前值,則不修改列表;如果相鄰值和當(dāng)前值是相同的數(shù)字,也會(huì)出現(xiàn)這種情況。

但是,如果當(dāng)前值左側(cè)的相鄰值較小,則相鄰值位置將向左移動(dòng),并且僅當(dāng)其左側(cè)的值較小時(shí)才停止向左移動(dòng)。

該圖說(shuō)明了插入算法在未排序列表上執(zhí)行的步驟。下圖中的列表按升序排列(從低到高)。

圖 1 : GIF 中的插入排序 (此文件在 Creative Commons 下獲得許可)。

算法步驟和實(shí)現(xiàn)( PythonJavaScript )

臺(tái)階

要按升序排列元素列表,插入排序算法需要以下操作:

從未排序元素的列表開(kāi)始。

從第一項(xiàng)到最后一項(xiàng)遍歷未排序元素的列表。

在每個(gè)步驟中,將當(dāng)前元素與前面所有位置左側(cè)的元素進(jìn)行比較。

如果當(dāng)前元素小于前面列出的任何元素,則將其向左移動(dòng)一個(gè)位置。

Python 實(shí)現(xiàn)

JavaScript 實(shí)現(xiàn)

性能和復(fù)雜性

在計(jì)算機(jī)科學(xué)領(lǐng)域,“大 O ”表示法是一種測(cè)量算法復(fù)雜性的策略。在這里,我們不會(huì)對(duì)大 O 符號(hào)太過(guò)技術(shù)化。不過(guò),值得注意的是,計(jì)算機(jī)科學(xué)家使用這個(gè)數(shù)學(xué)符號(hào)來(lái)根據(jù)時(shí)間和空間需求對(duì)算法進(jìn)行量化。

大 O 表示法是根據(jù)輸入定義的函數(shù)。字母“ n ”通常表示函數(shù)輸入的大小。簡(jiǎn)單地說(shuō), n 表示列表中的元素?cái)?shù)。在不同的場(chǎng)景中,實(shí)踐者關(guān)心函數(shù)的最壞情況、最佳情況或平均復(fù)雜度。

插入排序算法的最壞情況(和平均情況)復(fù)雜度為 O ( n 2)。這意味著,在最壞的情況下,對(duì)列表進(jìn)行排序所需的時(shí)間與列表中元素?cái)?shù)量的平方成正比。

插入排序算法的最佳時(shí)間復(fù)雜度為 O ( n )時(shí)間復(fù)雜度。這意味著對(duì)列表進(jìn)行排序所需的時(shí)間與列表中元素的數(shù)量成正比;當(dāng)列表的順序已經(jīng)正確時(shí),就是這種情況。在這種情況下,只有一次迭代,因?yàn)楫?dāng)列表已經(jīng)有序時(shí),內(nèi)部循環(huán)操作是微不足道的。

插入排序常用于排列小列表。另一方面,插入排序并不是處理包含大量元素的大型列表的最有效方法。值得注意的是,在使用鏈表時(shí),最好使用插入排序算法。雖然該算法可以應(yīng)用于數(shù)組中結(jié)構(gòu)化的數(shù)據(jù),但其他排序算法,如快速排序,也可以應(yīng)用于其他排序算法。

總結(jié)

最簡(jiǎn)單的排序方法之一是插入排序,它涉及一次一個(gè)元素構(gòu)建一個(gè)排序列表。通過(guò)將每個(gè)未檢查的元素插入排序列表中,在小于它和大于它的元素之間進(jìn)行排序。正如本文所演示的,這是一個(gè)簡(jiǎn)單的算法,可以在多種語(yǔ)言中掌握和應(yīng)用。

通過(guò)清晰地描述插入排序算法,伴隨著所涉及的算法程序的逐步分解。數(shù)據(jù)科學(xué)家能夠更好地實(shí)現(xiàn)插入排序算法,并探索其他類(lèi)似的排序算法,如快速排序和氣泡排序等。

對(duì)于許多數(shù)據(jù)科學(xué)家來(lái)說(shuō),算法可能是一個(gè)敏感的話題。這可能是由于主題的復(fù)雜性。“算法”一詞有時(shí)與復(fù)雜性有關(guān)。有了適當(dāng)?shù)墓ぞ?、培?xùn)和時(shí)間,即使是最復(fù)雜的算法,當(dāng)您有足夠的時(shí)間、信息和資源時(shí)也很容易理解。算法是數(shù)據(jù)科學(xué)中使用的基本工具,不容忽視。

關(guān)于作者

Richmond Alake 是一名機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺(jué)工程師,他與多家初創(chuàng)公司和公司合作,整合深度學(xué)習(xí)模型,以解決商業(yè)應(yīng)用中的計(jì)算機(jī)視覺(jué)任務(wù)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    探索LM3880:三軌簡(jiǎn)單電源排序器的卓越性能與應(yīng)用

    探索LM3880:三軌簡(jiǎn)單電源排序器的卓越性能與應(yīng)用 在電子設(shè)計(jì)領(lǐng)域,電源管理是一個(gè)至關(guān)重要的環(huán)節(jié)。今天,我們將深入探討德州儀器(TI)推出的LM3880三軌簡(jiǎn)單電源排序器,它為多電壓軌的電源
    的頭像 發(fā)表于 02-26 17:20 ?598次閱讀

    探索UCD90320U:32軌PMBus電源排序器與系統(tǒng)管理器的卓越性能

    探索UCD90320U:32軌PMBus電源排序器與系統(tǒng)管理器的卓越性能 在電子設(shè)備的設(shè)計(jì)中,電源管理是至關(guān)重要的一環(huán)。今天,我們將深入探討德州儀器(TI)推出的UCD90320U 32軌PMBus
    的頭像 發(fā)表于 02-26 16:30 ?208次閱讀

    MAX16050/MAX16051:具備反向排序功能的電壓監(jiān)控與排序電路

    /MAX16051電壓監(jiān)控/排序電路,憑借其出色的性能和豐富的功能,為工程師們提供了可靠的解決方案。本文將深入介紹這兩款器件的特點(diǎn)、工作原理及應(yīng)用要點(diǎn)。 文件下載: MAX16051ETI+T.pdf 一、器件
    的頭像 發(fā)表于 01-31 17:15 ?902次閱讀

    C語(yǔ)言插入排序算法和代碼

    插入排序排序算法的一種,它不改變?cè)械男蛄?數(shù)組),而是創(chuàng)建一個(gè)新的序列,在新序列上進(jìn)行操作。   這里以從小到大排序為例進(jìn)行講解。   基本思想及舉例說(shuō)明   
    發(fā)表于 01-15 06:44

    新思科技全面駕馭AI芯片設(shè)計(jì)復(fù)雜性

    AI 芯片正推動(dòng)著萬(wàn)物智能時(shí)代的到來(lái):作為高度專(zhuān)用化的處理器和加速器,AI 芯片專(zhuān)為處理復(fù)雜算法與海量數(shù)據(jù)集而設(shè)計(jì)。但在當(dāng)今快速變化、競(jìng)爭(zhēng)激烈的市場(chǎng)中,要打造一款脫穎而出的 AI 芯片,需要具備哪些條件?答案早在芯片制造之前就已揭曉。
    的頭像 發(fā)表于 12-24 17:13 ?1361次閱讀
    新思科技全面駕馭AI芯片設(shè)計(jì)<b class='flag-5'>復(fù)雜性</b>

    C語(yǔ)言的常見(jiàn)算法

    ; } } ``` ### 插入排序 (Insertion Sort) ```c void insertionSort(int arr[], int n) { for (int i = 1; i < n
    發(fā)表于 11-24 08:29

    HarmonyOS應(yīng)用代碼混淆技術(shù)方案

    代碼混淆技術(shù)可以增加代碼的復(fù)雜性和模糊,從而提高攻擊者分析代碼的難度。
    的頭像 發(fā)表于 11-21 16:17 ?5699次閱讀
    HarmonyOS應(yīng)用代碼混淆技術(shù)方案

    程序運(yùn)行慢,是否需檢查算法時(shí)間復(fù)雜度過(guò)高?

    程序運(yùn)行慢,需檢查算法時(shí)間復(fù)雜度是否過(guò)高?
    發(fā)表于 11-17 08:08

    復(fù)雜的軟件算法硬件IP核的實(shí)現(xiàn)

    具體方法與步驟 通過(guò) C 語(yǔ)言實(shí)現(xiàn)軟件算法,并驗(yàn)證了算法的有效以后,就可以進(jìn)行算法的 HDL 轉(zhuǎn)化工作了。通過(guò)使用 Altium Designer 的 CHC 編譯器(C to H
    發(fā)表于 10-30 07:02

    醫(yī)療PCB供應(yīng)鏈復(fù)雜性與風(fēng)險(xiǎn)管控

    印刷電路板(PCB)最初作為一種用于承載和連接電子元件的簡(jiǎn)單解決方案,并不需要復(fù)雜的點(diǎn)對(duì)點(diǎn)布線。如今,PCB已成為我們?nèi)粘I畹闹匾M成部分,并且隨著技術(shù)進(jìn)步,以前的簡(jiǎn)單性逐步讓位于復(fù)雜性。現(xiàn)在我們
    的頭像 發(fā)表于 10-14 14:17 ?617次閱讀

    深入解析與使用感受:Isograph、Medini與REANA可靠性分析軟件對(duì)比

    上海磐時(shí)PANSHI“磐時(shí),做汽車(chē)企業(yè)的安全智庫(kù)”深入解析與使用感受:Isograph、Medini與REANA可靠性分析軟件對(duì)比汽車(chē)行業(yè)的復(fù)雜性和對(duì)安全的高要求,使得傳統(tǒng)的分析工具
    的頭像 發(fā)表于 09-05 16:20 ?10次閱讀
    深入解析與使用感受:Isograph、Medini與REANA可靠<b class='flag-5'>性分析</b>軟件對(duì)比

    ADI如何應(yīng)對(duì)智能邊緣的軟件復(fù)雜性

    如果技術(shù)能在數(shù)據(jù)產(chǎn)生的瞬間立即作出決策,會(huì)帶來(lái)怎樣的變化?這正是智能邊緣的核心潛力。智能邊緣存在于現(xiàn)實(shí)世界與數(shù)字世界的交匯處。在這里,設(shè)備將現(xiàn)實(shí)世界的現(xiàn)象轉(zhuǎn)化為可執(zhí)行的數(shù)據(jù)和有價(jià)值的洞察,為高級(jí)駕駛員輔助系統(tǒng)(ADAS)、生命體征監(jiān)測(cè)(VSM)和協(xié)作機(jī)器人引導(dǎo)等應(yīng)用提供支持。未來(lái),智能邊緣將釋放更大的潛能,重塑行業(yè)格局,提升生活品質(zhì),而軟件將成為這一變革的關(guān)鍵。
    的頭像 發(fā)表于 08-22 10:03 ?1535次閱讀

    信號(hào)發(fā)生器如何與波束賦形算法配合優(yōu)化?

    場(chǎng)景中的多徑傳播、干擾和用戶移動(dòng),從而驗(yàn)證和優(yōu)化波束賦形算法性能。以下是具體配合優(yōu)化方法及實(shí)施步驟:一、信號(hào)發(fā)生器在波束賦形優(yōu)化中的核心作用 模擬多徑信道環(huán)境 功能:生成包含多徑時(shí)延、角度擴(kuò)展
    發(fā)表于 08-08 14:41

    DFT算法與FFT算法的優(yōu)劣分析

    一概述 在諧波分析儀中,我們常常提到的兩個(gè)詞語(yǔ),就是DFT算法與FFT算法,那么一款功率分析儀/諧波分析儀采用DFT
    的頭像 發(fā)表于 08-04 09:30 ?1700次閱讀

    Molex連接器如何應(yīng)對(duì)汽車(chē)復(fù)雜性設(shè)計(jì)挑戰(zhàn)

    有百余年歷史的汽車(chē)行業(yè)正沿著電氣化、智能化、網(wǎng)聯(lián)化的趨勢(shì)發(fā)生深刻變革——對(duì)于這一論斷,想必大家今天不僅是耳熟能詳,而且已經(jīng)是深有體會(huì)了。
    的頭像 發(fā)表于 07-11 14:25 ?2825次閱讀
    涞水县| 汨罗市| 沂源县| 绩溪县| 晋州市| 佛坪县| 荆门市| 太谷县| 上思县| 东乌珠穆沁旗| 璧山县| 广丰县| 乳源| 延津县| 乌鲁木齐县| 冷水江市| 喀喇沁旗| 义马市| 江达县| 霸州市| 广丰县| 金阳县| 平顺县| 方城县| 南岸区| 平安县| 霍州市| 惠安县| 团风县| 黑水县| 太白县| 紫云| 吉林省| 冷水江市| 瓮安县| 延川县| 尖扎县| 桃园县| 廊坊市| 教育| 体育|