在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

什么是算法編程?最常用的算法有哪些

C語(yǔ)言編程學(xué)習(xí)基地 ? 來(lái)源:C語(yǔ)言編程學(xué)習(xí)基地 ? 作者:C語(yǔ)言編程學(xué)習(xí)基地 ? 2021-07-26 11:11 ? 次閱讀

編程算法是什么意思?相信問(wèn)這個(gè)問(wèn)題的同學(xué)一定是個(gè)零基礎(chǔ)剛剛?cè)腴T編程的小白,針對(duì)這個(gè)問(wèn)題,本文將介紹編程算法的基本概念,并且盤點(diǎn)五個(gè)經(jīng)典的編程算法,幫助大家基礎(chǔ)入門。

1、算法是什么意思?

算法是一系列解決問(wèn)題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問(wèn)題的策略機(jī)制,就是生活中的實(shí)際問(wèn)題,轉(zhuǎn)化成數(shù)學(xué)問(wèn)題去解決,將實(shí)際的抽象性問(wèn)題轉(zhuǎn)換成數(shù)理性的問(wèn)題去解決。

算法的五大特征是,有窮性,可行性,確切性,輸入,輸出。凡是任何一個(gè)算法都必須滿足這5個(gè)基本特征,只要是數(shù)學(xué)問(wèn)題,不存在模棱兩可的事情。哪怕是概率問(wèn)題在數(shù)學(xué)里專門有一門課程叫“概率論”與之對(duì)應(yīng),能將這些不確定問(wèn)題進(jìn)行數(shù)學(xué)化。

(1)有窮性

在有限的操作步驟內(nèi)完成。否則計(jì)算機(jī)會(huì)一直執(zhí)行到資源耗盡后死機(jī)。

(2)確定性

每個(gè)步驟確定,步驟的結(jié)果確定。算法執(zhí)行的過(guò)程是與計(jì)算機(jī)交互的過(guò)程,每一步必須明確且具有符合語(yǔ)言規(guī)則,否則計(jì)算機(jī)無(wú)法執(zhí)行,會(huì)報(bào)錯(cuò)。

(3)可行性

每個(gè)步驟有效執(zhí)行,得到確定的結(jié)果。每一個(gè)具體步驟在通過(guò)計(jì)算機(jī)實(shí)現(xiàn)時(shí)應(yīng)能夠使計(jì)算機(jī)完成,如果這一步驟在計(jì)算機(jī)上無(wú)法實(shí)現(xiàn),也就達(dá)不到預(yù)期的目的,那么這一步驟是不完善的和不正確的,是不可行的。

(4)零個(gè)或多個(gè)輸入

從外界獲得信息。算法的過(guò)程可以無(wú)數(shù)據(jù)輸入,也可以有多種類型的多個(gè)數(shù)據(jù)輸入,需根據(jù)具體的問(wèn)題加以分析。

(5)一個(gè)或多個(gè)輸出

算法得到的結(jié)果就是算法的輸出(不一定就是打印輸出)。算法的目的是為解決一個(gè)具體問(wèn)題,一旦問(wèn)題得以解決,就說(shuō)明采取的算法是正確的,而結(jié)果的輸出正是驗(yàn)證這一目的的最好方式。

2、經(jīng)典編程算法盤點(diǎn)

(1)快速排序算法

快速排序是由東尼·霍爾所發(fā)展的一種排序算法。在平均狀況下,排序 n 個(gè)項(xiàng)目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況并不常見(jiàn)。事實(shí)上,快速排序通常明顯比其他Ο(n log n) 算法更快。

因?yàn)樗膬?nèi)部循環(huán)(inner loop)可以在大部分的架構(gòu)上很有效率地被實(shí)現(xiàn)出來(lái)。快速排序使用分治法(Divide and conquer)策略來(lái)把一個(gè)串行(list)分為兩個(gè)子串行(sub-lists)。

算法步驟:

步驟1從數(shù)列中挑出一個(gè)元素,稱為 “基準(zhǔn)”(pivot),

步驟2重新排序數(shù)列,所有元素比基準(zhǔn)值小的擺放在基準(zhǔn)前面,所有元素比基準(zhǔn)值大的擺在基準(zhǔn)的后面(相同的數(shù)可以到任一邊)。在這個(gè)分區(qū)退出之后,該基準(zhǔn)就處于數(shù)列的中間位置。這個(gè)稱為分區(qū)(partition)操作。

步驟3遞歸地(recursive)把小于基準(zhǔn)值元素的子數(shù)列和大于基準(zhǔn)值元素的子數(shù)列排序。遞歸的最底部情形,是數(shù)列的大小是零或一,也就是永遠(yuǎn)都已經(jīng)被排序好了。雖然一直遞歸下去,但是這個(gè)算法總會(huì)退出,因?yàn)樵诿看蔚牡╥teration)中,它至少會(huì)把一個(gè)元素?cái)[到它最后的位置去。

(2)堆排序算法

堆排序(Heapsort)是指利用堆這種數(shù)據(jù)結(jié)構(gòu)所設(shè)計(jì)的一種排序算法。堆積是一個(gè)近似完全二叉樹(shù)的結(jié)構(gòu),并同時(shí)滿足堆積的性質(zhì):即子結(jié)點(diǎn)的鍵值或索引總是小于(或者大于)它的父節(jié)點(diǎn)。堆排序的平均時(shí)間復(fù)雜度為Ο(nlogn) 。

算法步驟:

步驟1創(chuàng)建一個(gè)堆H[0..n-1]

步驟2把堆首(最大值)和堆尾互換

步驟3把堆的尺寸縮小1,并調(diào)用shift_down(0),目的是把新的數(shù)組頂端數(shù)據(jù)調(diào)整到相應(yīng)位置

步驟4重復(fù)步驟2,直到堆的尺寸為1

(3)歸并排序

歸并排序(Merge sort,臺(tái)灣譯作:合并排序)是建立在歸并操作上的一種有效的排序算法。該算法是采用分治法(Divide and Conquer)的一個(gè)非常典型的應(yīng)用。

算法步驟:

步驟1申請(qǐng)空間,使其大小為兩個(gè)已經(jīng)排序序列之和,該空間用來(lái)存放合并后的序列

步驟2設(shè)定兩個(gè)指針,最初位置分別為兩個(gè)已經(jīng)排序序列的起始位置

步驟3比較兩個(gè)指針?biāo)赶虻脑兀x擇相對(duì)小的元素放入到合并空間,并移動(dòng)指針到下一位置

步驟4重復(fù)步驟3直到某一指針達(dá)到序列尾

步驟5將另一序列剩下的所有元素直接復(fù)制到合并序列尾

(4)二分查找算法

二分查找算法是一種在有序數(shù)組中查找某一特定元素的搜索算法。搜素過(guò)程從數(shù)組的中間元素開(kāi)始,如果中間元素正好是要查找的元素,則搜 素過(guò)程結(jié)束;

如果某一特定元素大于或者小于中間元素,則在數(shù)組大于或小于中間元素的那一半中查找,而且跟開(kāi)始一樣從中間元素開(kāi)始比較。如果在某一步驟數(shù)組 為空,則代表找不到。這種搜索算法每一次比較都使搜索范圍縮小一半。折半搜索每次把搜索區(qū)域減少一半,時(shí)間復(fù)雜度為Ο(logn) 。

(5)BFPRT(線性查找算法)

BFPRT算法解決的問(wèn)題十分經(jīng)典,即從某n個(gè)元素的序列中選出第k大(第k小)的元素,通過(guò)巧妙的分 析,BFPRT可以保證在最壞情況下仍為線性時(shí)間復(fù)雜度。該算法的思想與快速排序思想相似,當(dāng)然,為使得算法在最壞情況下,依然能達(dá)到o(n)的時(shí)間復(fù)雜 度,五位算法作者做了精妙的處理。

算法步驟:

步驟1將n個(gè)元素每5個(gè)一組,分成n/5(上界)組。

步驟2取出每一組的中位數(shù),任意排序方法,比如插入排序。

步驟3遞歸的調(diào)用selection算法查找上一步中所有中位數(shù)的中位數(shù),設(shè)為x,偶數(shù)個(gè)中位數(shù)的情況下設(shè)定為選取中間小的一個(gè)。

步驟4用x來(lái)分割數(shù)組,設(shè)小于等于x的個(gè)數(shù)為k,大于x的個(gè)數(shù)即為n-k。

步驟5若i==k,返回x;若i《k,在小于x的元素中遞歸查找第i小的元素;若i》k,在大于x的元素中遞歸查找第i-k小的元素。終止條件:n=1時(shí),返回的即是i小元素。

以上就是編程算法的全部?jī)?nèi)容,相信看完大家都應(yīng)該明白了“編程算法是什么”。這些都是編程的基礎(chǔ)知識(shí),大家一定要掌握哦!

編輯:jq

聲明:本文內(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)投訴
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3640

    瀏覽量

    94036

原文標(biāo)題:初學(xué)編程:算法編程是什么意思?盤點(diǎn)最常用的 5 大算法!

文章出處:【微信號(hào):cyuyanxuexi,微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+內(nèi)容簡(jiǎn)介

    。本書(shū)力求從算法、芯片設(shè)計(jì)、軟件開(kāi)發(fā)等多個(gè)角度解讀基礎(chǔ)算法電路的設(shè)計(jì),涵蓋了溢出保護(hù)、符號(hào)運(yùn)算、浮點(diǎn)運(yùn)算、位寬確定等運(yùn)算電路基礎(chǔ)知識(shí),以及除法器、信號(hào)發(fā)生器、濾波器、小數(shù)分頻器等常用
    發(fā)表于 11-21 17:14

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+介紹基礎(chǔ)硬件算法模塊

    作為嵌入式開(kāi)發(fā)者往往比較關(guān)注硬件和軟件的協(xié)調(diào)。本書(shū)介紹了除法器,信號(hào)發(fā)生器,濾波器,分頻器等基本算法的電路實(shí)現(xiàn),雖然都是基礎(chǔ)內(nèi)容,但是也是最常用到的基本模塊。 隨著逆全球化趨勢(shì)的出現(xiàn),過(guò)去的研發(fā)
    發(fā)表于 11-21 17:05

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+一本介紹基礎(chǔ)硬件算法模塊實(shí)現(xiàn)的好書(shū)

    看下本書(shū)內(nèi)容簡(jiǎn)介,然后再瀏覽下各個(gè)章節(jié)的內(nèi)容。 從簡(jiǎn)介來(lái)看,本書(shū)也是關(guān)注最基礎(chǔ),最常用的那部分算法的電路實(shí)現(xiàn),比較貼合工程實(shí)踐,適合無(wú)基礎(chǔ)或者一定基礎(chǔ)的一線工程人員閱讀。內(nèi)容選擇是貼合實(shí)踐
    發(fā)表于 11-20 13:42

    名單公布!【書(shū)籍評(píng)測(cè)活動(dòng)NO.46】從算法到電路 | 數(shù)字芯片算法的電路實(shí)現(xiàn)

    的,熟練掌握這些基本算法電路是實(shí)現(xiàn)復(fù)雜算法電路的基礎(chǔ)。忽視基本算法及其電路設(shè)計(jì)而談?wù)搹?fù)雜算法電路,無(wú)異于癡人說(shuō)夢(mèng)。 本書(shū)力求從算法、芯片設(shè)計(jì)
    發(fā)表于 10-09 13:43

    常用的ADC濾波算法哪些

    ADC(模數(shù)轉(zhuǎn)換器)濾波算法在信號(hào)處理中起著至關(guān)重要的作用,它們能夠幫助我們提取出有用的信號(hào),同時(shí)濾除噪聲和干擾。以下是常用的ADC濾波算法詳解,這些算法各具特色,適用于不同的應(yīng)用場(chǎng)景
    的頭像 發(fā)表于 10-08 14:35 ?555次閱讀

    人員軌跡分析算法哪些?

    時(shí)段等。這些信息可以對(duì)城市規(guī)劃、交通管理、公共安全等方面具有重要的指導(dǎo)意義。而為了實(shí)現(xiàn)人員軌跡分析,我們需要使用一些專門的算法和技術(shù)。 下面是幾種常用的人員軌跡分析算法: 1. 基于密度的聚類
    的頭像 發(fā)表于 09-26 10:42 ?528次閱讀

    Python建模算法與應(yīng)用

    上成為理想的腳本語(yǔ)言,特別適用于快速的應(yīng)用程序開(kāi)發(fā)。本文將詳細(xì)介紹Python在建模算法中的應(yīng)用,包括常見(jiàn)的建模算法、Python在建模中的優(yōu)勢(shì)、常用庫(kù)以及實(shí)際案例。
    的頭像 發(fā)表于 07-24 10:41 ?671次閱讀

    圖像識(shí)別算法都有哪些方法

    傳統(tǒng)方法和基于深度學(xué)習(xí)的方法。 傳統(tǒng)圖像識(shí)別算法 1.1 邊緣檢測(cè) 邊緣檢測(cè)是圖像識(shí)別的基礎(chǔ),它用于檢測(cè)圖像中的邊緣信息。邊緣是圖像中亮度變化最明顯的區(qū)域,通常表示物體的邊界。常用的邊緣檢測(cè)算法
    的頭像 發(fā)表于 07-16 11:14 ?6112次閱讀

    圖像識(shí)別算法的優(yōu)缺點(diǎn)哪些

    圖像識(shí)別算法是一種利用計(jì)算機(jī)視覺(jué)技術(shù)對(duì)圖像進(jìn)行分析和理解的方法,它在許多領(lǐng)域都有廣泛的應(yīng)用,如自動(dòng)駕駛、醫(yī)療診斷、安全監(jiān)控等。然而,圖像識(shí)別算法也存在一些優(yōu)缺點(diǎn)。 一、圖像識(shí)別算法的優(yōu)點(diǎn) 高效性
    的頭像 發(fā)表于 07-16 11:09 ?1942次閱讀

    神經(jīng)網(wǎng)絡(luò)算法的優(yōu)缺點(diǎn)哪些

    神經(jīng)網(wǎng)絡(luò)算法是一種模擬人腦神經(jīng)元結(jié)構(gòu)的計(jì)算模型,廣泛應(yīng)用于機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、圖像識(shí)別、語(yǔ)音識(shí)別等領(lǐng)域。然而,神經(jīng)網(wǎng)絡(luò)算法也存在一些優(yōu)缺點(diǎn)。本文將詳細(xì)分析神經(jīng)網(wǎng)絡(luò)算法的優(yōu)缺點(diǎn)。 一、神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 09:47 ?1704次閱讀

    機(jī)器學(xué)習(xí)算法原理詳解

    機(jī)器學(xué)習(xí)作為人工智能的一個(gè)重要分支,其目標(biāo)是通過(guò)讓計(jì)算機(jī)自動(dòng)從數(shù)據(jù)中學(xué)習(xí)并改進(jìn)其性能,而無(wú)需進(jìn)行明確的編程。本文將深入解讀幾種常見(jiàn)的機(jī)器學(xué)習(xí)算法原理,包括線性回歸、邏輯回歸、支持向量機(jī)(SVM)、決策樹(shù)和K近鄰(KNN)算法,探
    的頭像 發(fā)表于 07-02 11:25 ?1405次閱讀

    運(yùn)動(dòng)控制算法哪些

    運(yùn)動(dòng)控制算法是機(jī)器人學(xué)和自動(dòng)化領(lǐng)域中的核心技術(shù)之一,它們負(fù)責(zé)規(guī)劃和執(zhí)行機(jī)器人或自動(dòng)化設(shè)備的精確運(yùn)動(dòng)。以下是一些常見(jiàn)的運(yùn)動(dòng)控制算法,以及它們的基本原理和應(yīng)用場(chǎng)景。 PID控制算法
    的頭像 發(fā)表于 06-13 09:17 ?2942次閱讀

    常用的電機(jī)控制算法哪些

    在電機(jī)控制領(lǐng)域,選擇合適的控制算法對(duì)于實(shí)現(xiàn)高效、精確且穩(wěn)定的電機(jī)運(yùn)行至關(guān)重要。以下將詳細(xì)介紹幾種常用的電機(jī)控制算法,并通過(guò)具體的分析和實(shí)例,探討它們的特點(diǎn)、應(yīng)用以及優(yōu)勢(shì)。
    的頭像 發(fā)表于 06-05 16:31 ?2646次閱讀

    算法系列:彩色轉(zhuǎn)灰度

    + B) >> 2由于誤差很大,所以做圖像處理絕不用該公式(最常用的是16位精度)。但對(duì)于游戲編程,場(chǎng)景經(jīng)常變化,用戶一般不可能觀察到顏色的細(xì)微差別,所以最常用的是2位
    發(fā)表于 05-22 19:02

    FPGA壓縮算法哪些

    在圖像壓縮算法中可以采用哈夫曼編碼的方式對(duì)編碼冗余的信息進(jìn)行壓縮,可以采用預(yù)測(cè)的方式來(lái)減少像素間冗余,可以采用量化的方式完成心理視覺(jué)冗余信息的去除
    的頭像 發(fā)表于 04-15 11:48 ?722次閱讀
    FPGA壓縮<b class='flag-5'>算法</b><b class='flag-5'>有</b>哪些
    主站蜘蛛池模板: 午夜免费啪视频 | 亚洲欧美色中文字幕 | 97影院午夜在线观看视频 | 三级毛片免费看 | 老师办公室高h文小说 | 欧美3d成人动画在线 | ccav在线永久免费看 | 分分操免费视频在线观看 | 中文字幕精品一区二区三区视频 | www.亚洲视频.com | 夜夜bb | 色综合天天综合给合国产 | 亚洲a成人 | 成人国产精品一级毛片了 | 色婷婷精品 | 成年视频在线观看 | 天天干天天干天天天天天天爽 | 国产黄色三级网站 | 欧美一级高清片欧美国产欧美 | 一区二区三区亚洲 | 一级毛片q片| www天堂在线观看 | fenfencao在线观看免费视频 | 亚洲日本一区二区 | 18岁女人毛片| 精品美女在线观看 | 乱码精品一区二区三区 | 亚洲一区二区在线播放 | 久久这里只有精品免费播放 | 亚洲一级特黄特黄的大片 | 午夜视| 种子天堂bt磁力在线资源 | 亚洲综合久久久久久888 | aⅴ一区二区三区 | 4hc44四虎www在线影院男同 | 美女网站色免费 | 成人免费视频一区二区三区 | 天天做天天爰夜夜爽 | 狠狠色综合久久久久尤物 | 亚洲一区不卡视频 | 午夜剧院免费 |