国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

聊城做網(wǎng)站最好的網(wǎng)絡(luò)公司整站優(yōu)化深圳

聊城做網(wǎng)站最好的網(wǎng)絡(luò)公司,整站優(yōu)化深圳,別人做的網(wǎng)站,網(wǎng)站的彈窗廣告怎么做歡迎關(guān)注博主 Mindtechnist 或加入【智能科技社區(qū)】一起學(xué)習(xí)和分享Linux、C、C、Python、Matlab,機(jī)器人運(yùn)動(dòng)控制、多機(jī)器人協(xié)作,智能優(yōu)化算法,濾波估計(jì)、多傳感器信息融合,機(jī)器學(xué)習(xí),人工智能等相關(guān)領(lǐng)域的知識(shí)和技術(shù)。關(guān)…

在這里插入圖片描述

歡迎關(guān)注博主 Mindtechnist 或加入【智能科技社區(qū)】一起學(xué)習(xí)和分享Linux、C、C++、Python、Matlab,機(jī)器人運(yùn)動(dòng)控制、多機(jī)器人協(xié)作,智能優(yōu)化算法,濾波估計(jì)、多傳感器信息融合,機(jī)器學(xué)習(xí),人工智能等相關(guān)領(lǐng)域的知識(shí)和技術(shù)。關(guān)注公粽號(hào) 《機(jī)器和智能》 回復(fù)關(guān)鍵詞 “python項(xiàng)目實(shí)戰(zhàn)” 即可獲取美哆商城視頻資源!


博主介紹:
CSDN優(yōu)質(zhì)創(chuàng)作者,CSDN實(shí)力新星,CSDN內(nèi)容合伙人;
阿里云社區(qū)專家博主;
華為云社區(qū)云享專家;
51CTO社區(qū)入駐博主,掘金社區(qū)入駐博主,支付寶社區(qū)入駐博主,博客園博主。


算法與數(shù)據(jù)結(jié)構(gòu)書籍推薦

  • 十大排序算法
    • 冒泡排序(Bubble Sort)
    • 選擇排序(Selection Sort)
    • 插入排序(Insertion Sort)
    • 快速排序(Quick Sort)
    • 歸并排序(Merge Sort)
    • 堆排序(Heap Sort)
    • 計(jì)數(shù)排序(Counting Sort)
    • 桶排序(Bucket Sort)
    • 基數(shù)排序(Radix Sort)
    • 希爾排序(Shell Sort)
  • 圖書推薦 -《算法秘籍》


🎉🎉🎉🎉🎉 重磅福利 🎉🎉🎉🎉🎉
🎉本次送3套書 ,評(píng)論區(qū)抽3位小伙伴送書,中獎(jiǎng)用戶可在下列書單任選一本
🎉活動(dòng)時(shí)間:截止到 2023-11-16 10:00:00
🎉抽獎(jiǎng)方式:評(píng)論區(qū)隨機(jī)抽獎(jiǎng)。
🎉參與方式:關(guān)注博主、點(diǎn)贊、收藏,評(píng)論。
?注意:一定要關(guān)注博主,不然中獎(jiǎng)后將無(wú)效!
🎉通知方式:通過私信聯(lián)系中獎(jiǎng)粉絲。
💡提示:有任何疑問請(qǐng)私信公粽號(hào) 《機(jī)器和智能》


專欄:《前沿技術(shù)文獻(xiàn)與圖書推薦》


十大排序算法

以下是十種常見的排序算法及其C++代碼實(shí)現(xiàn):

冒泡排序(Bubble Sort)

void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {swap(arr[j], arr[j + 1]);}}}
}

選擇排序(Selection Sort)

void selectionSort(int arr[], int n) {for (int i = 0; i < n - 1; i++) {int minIndex = i;for (int j = i + 1; j < n; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}swap(arr[i], arr[minIndex]);}
}

插入排序(Insertion Sort)

void insertionSort(int arr[], int n) {for (int i = 1; i < n; i++) {int key = arr[i];int j = i - 1;while (j >= 0 && arr[j] > key) {arr[j + 1] = arr[j];j--;}arr[j + 1] = key;}
}

快速排序(Quick Sort)

int partition(int arr[], int low, int high) {int pivot = arr[high];int i = low - 1;for (int j = low; j <= high - 1; j++) {if (arr[j] < pivot) {i++;swap(arr[i], arr[j]);}}swap(arr[i + 1], arr[high]);return i + 1;
}void quickSort(int arr[], int low, int high) {if (low < high) {int pi = partition(arr, low, high);quickSort(arr, low, pi - 1);quickSort(arr, pi + 1, high);}
}

歸并排序(Merge Sort)

void merge(int arr[], int l, int m, int r) {int n1 = m - l + 1;int n2 = r - m;int L[n1], R[n2];for (int i = 0; i < n1; i++) {L[i] = arr[l + i];}for (int j = 0; j < n2; j++) {R[j] = arr[m + 1 + j];}int i = 0, j = 0, k = l;while (i < n1 && j < n2) {if (L[i] <= R[j]) {arr[k] = L[i];i++;} else {arr[k] = R[j];j++;}k++;}while (i < n1) {arr[k] = L[i];i++;k++;}while (j < n2) {arr[k] = R[j];j++;k++;}
}void mergeSort(int arr[], int l, int r) {if (l < r) {int m = l + (r - l) / 2;mergeSort(arr, l, m);mergeSort(arr, m + 1, r);merge(arr, l, m, r);}
}

堆排序(Heap Sort)

void heapify(int arr[], int n, int i) {int largest = i;int left = 2 * i + 1;int right = 2 * i + 2;if (left < n && arr[left] > arr[largest]) {largest = left;}if (right < n && arr[right] > arr[largest]) {largest = right;}if (largest != i) {swap(arr[i], arr[largest]);heapify(arr, n, largest);}
}void heapSort(int arr[], int n) {for (int i = n / 2 - 1; i >= 0; i--) {heapify(arr, n, i);}for (int i = n - 1; i >= 0; i--) {swap(arr[0], arr[i]);heapify(arr, i, 0);}
}

計(jì)數(shù)排序(Counting Sort)

void countingSort(int arr[], int n) {int maxVal = *max_element(arr, arr + n);int minVal = *min_element(arr, arr + n);int range = maxVal - minVal + 1;int count[range] = {0};for (int i = 0; i < n; i++) {count[arr[i] - minVal]++;}int index = 0;for (int i = 0; i < range; i++) {while (count[i] > 0) {arr[index++] = i + minVal;count[i]--;}}
}

桶排序(Bucket Sort)

void bucketSort(float arr[], int n) {float maxVal = *max_element(arr, arr + n);float minVal = *min_element(arr, arr + n);float range = maxVal - minVal;int bucketSize = range / n + 1;vector<vector<float>> buckets(n);for (int i = 0; i < n; i++) {float index = (arr[i] - minVal) / bucketSize;buckets[(int)index].push_back(arr[i]);}int index = 0;for (int i = 0; i < n; i++) {sort(buckets[i].begin(), buckets[i].end());for (int j = 0; j < buckets[i].size(); j++) {arr[index++] = buckets[i][j];}}
}

基數(shù)排序(Radix Sort)

void countingSortForRadix(int arr[], int n, int exp) {int output[n];int count[10] = {0};for (int i = 0; i < n; i++) {count[(arr[i] / exp) % 10]++;}for (int i = 1; i < 10; i++) {count[i] += count[i - 1];}for (int i = n - 1; i >= 0; i--) {output[count[(arr[i] / exp) % 10] - 1] = arr[i];count[(arr[i] / exp) % 10]--;}for (int i = 0; i < n; i++) {arr[i] = output[i];}
}void radixSort(int arr[], int n) {int maxVal = *max_element(arr, arr + n);for (int exp = 1; maxVal / exp > 0; exp *= 10) {countingSortForRadix(arr, n, exp);}
}

希爾排序(Shell Sort)

void shellSort(int arr[], int n) {for (int gap = n / 2; gap > 0; gap /= 2) {for (int i = gap; i < n; i++) {int temp = arr[i];int j;for (j = i; j >= gap && arr[j - gap] > temp; j -= gap) {arr[j] = arr[j - gap];}arr[j] = temp;}}
}

圖書推薦 -《算法秘籍》

數(shù)據(jù)結(jié)構(gòu)和算法是計(jì)算機(jī)科學(xué)的基石,是計(jì)算機(jī)的靈魂,要想成為計(jì)算機(jī)專業(yè)人員,學(xué)習(xí)和掌握算法是十分必要的。不懂?dāng)?shù)據(jù)結(jié)構(gòu)和算法的人不可能寫出效率更高的代碼。計(jì)算機(jī)科學(xué)的很多新行業(yè)都離不開數(shù)據(jù)結(jié)構(gòu)和算法作為基石,比如大數(shù)據(jù)、人工智能等。底層開發(fā)中也需要使用非常多的數(shù)據(jù)結(jié)構(gòu)和算法知識(shí),以保證底層系統(tǒng)的穩(wěn)定性和高效性。

計(jì)算機(jī)科學(xué)家尼古拉斯·沃斯在計(jì)算機(jī)領(lǐng)域有一句人盡皆知的名言:

“算法+數(shù)據(jù)結(jié)構(gòu)=程序”(Algorithms+Data Structures=Programs)

所以數(shù)據(jù)結(jié)構(gòu)和算法是程序員必須掌握的技能。尤其是到一些大公司面試的時(shí)候,算法更是一個(gè)少不了的環(huán)節(jié),熟練掌握數(shù)據(jù)結(jié)構(gòu)和算法,可以開拓我們的視野,提高我們的邏輯思維能力,在寫代碼和分析官方源碼的時(shí)候也非常有幫助。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法的一個(gè)好處就是:學(xué)完之后知識(shí)基本不會(huì)過時(shí),可以永遠(yuǎn)為我們所用。大家都知道程序員需要不停地學(xué)習(xí),因?yàn)橹R(shí)更新太快,記得在筆者(博哥)上大學(xué)和后來(lái)開始工作的時(shí)候,非常喜歡研究官方源碼和框架,如癡如醉,但很遺憾,現(xiàn)在很多框架都已被淘汰了,沒被淘汰的也被更新得面目全非,然后還要不停地學(xué)習(xí)其他新的框架。筆者一直在思考,能不能學(xué)習(xí)一種永不過時(shí)的知識(shí)。后來(lái)就接觸了數(shù)據(jù)結(jié)構(gòu)和算法,這一接觸就是好多年,學(xué)的那么多知識(shí)依然沒有過時(shí)。比如KMP算法是在1977年被聯(lián)合發(fā)表的,那么多年過去了,這種算法依然沒有被淘汰,如果是一個(gè)框架,基本上很難保證那么多年還能存在,就算存在也會(huì)有大量的更新,還是需要不停地學(xué)習(xí)。

寫書的初衷及過程
筆者(博哥)具有10多年的開發(fā)經(jīng)驗(yàn),2017年開始做算法試題并在公眾號(hào)發(fā)布試題講解,經(jīng)常游走在全球30多個(gè)算法網(wǎng)站之間,累計(jì)做題2000多道,對(duì)算法試題有自己獨(dú)特的解題思路和技巧。

筆者寫這本書的初衷是希望能夠幫助更多的程序員快速學(xué)習(xí)算法,我們都知道算法在整個(gè)IT行業(yè)算是比較難的,之前有很過程序員通過公眾號(hào)加筆者微信,請(qǐng)教關(guān)于算法的題,剛開始筆者一一進(jìn)行了回復(fù),后來(lái)隨著咨詢量越來(lái)越大,筆者意識(shí)到大家迫切地需要算法相關(guān)知識(shí)的系統(tǒng)指導(dǎo)。結(jié)合筆者過往的寫作和從業(yè)經(jīng)歷,便著手寫一本算法書籍,希望能歐幫助大家更好地學(xué)習(xí)算法,于是這本《算法秘籍》就誕生了。

這本書的知識(shí)覆蓋范圍全面,總共分為13個(gè)章節(jié),先是詳細(xì)介紹了常見的八大數(shù)據(jù)結(jié)構(gòu)。后面都是我們比較常見的算法題,其中包括了二叉樹的Morris遍歷,KMP算法,馬拉車算法等經(jīng)典題型。

關(guān)于數(shù)據(jù)結(jié)構(gòu),大家普遍認(rèn)為難度較大的可能就是圖了,本書對(duì)圖的分類,圖的表示方式,圖的遍歷,以及圖的各種經(jīng)典算法比如迪杰斯特拉算法,普里姆算法,拓?fù)渑判虻榷加写罅拷榻B。

本書的內(nèi)容

本書以Java為描述語(yǔ)言,介紹了計(jì)算機(jī)編程中常用的數(shù)據(jù)結(jié)構(gòu)和算法,主要內(nèi)容如下。

第1章:主要介紹了8種數(shù)據(jù)結(jié)構(gòu),包括數(shù)組、鏈表、隊(duì)列、棧、散列表、樹、堆、圖,然后每種數(shù)據(jù)結(jié)構(gòu)又有細(xì)分,比如介紹樹的時(shí)候有完全二叉樹、滿二叉樹、二叉搜索樹、AVL樹、紅黑樹、字典樹、哈夫曼樹、線段樹、笛卡兒樹等。圖的介紹中也有一些經(jīng)典的算法,比如迪杰斯特拉算法、弗洛伊德算法、普里姆算法和克魯斯卡爾算法等。
第2章:介紹了幾種經(jīng)典排序算法,以及它們的穩(wěn)定性分析。
第3章:主要介紹了一些位運(yùn)算和常見操作符,還有一些簡(jiǎn)單的操作和使用技巧,如有限狀態(tài)機(jī)和相關(guān)示例講解。
第4章:介紹了和樹有關(guān)的知識(shí),比如樹的遍歷方式,包括DFS遍歷、Morris遍歷,以及BFS遍歷等。
第5章:分析了遞歸的原理和示例練習(xí),可以把它看作是對(duì)一棵樹的DFS遍歷。
第6章:主要介紹了回溯算法的使用,然后得出回溯算法的使用模板,以及一些經(jīng)典示例,還有一些重復(fù)問題和不符合條件的修剪分支。
第7章:主要介紹貪心算法的使用和存在的不足。
第8章:分別介紹了相向雙指針、同向雙指針和快慢雙指針的使用技巧,還有滑動(dòng)窗口的介紹和使用模板,以及大小可變窗口、固定窗口、只增不減窗口等。
第9章:主要介紹了BFS和DFS的使用模板和示例練習(xí)。
第10章:主要介紹了一維前綴和與二維前綴和的使用。
第11章:介紹動(dòng)態(tài)規(guī)劃和一些經(jīng)典問題的講解,如背包問題、組合與排列問題等。
第12章:通過三國(guó)人物的故事,生動(dòng)形象地介紹了并查集的使用、并查集優(yōu)化、并查集路徑壓縮以及合并優(yōu)化等。
第13章:介紹了其他一些經(jīng)典算法,比如KMP算法、馬拉車算法、算術(shù)表達(dá)式的運(yùn)算、牛頓迭代法求平方根、Base64編碼等。

聯(lián)合推薦

算法是編程的基石。本書以生動(dòng)的案例,結(jié)合作者的豐富經(jīng)驗(yàn),詮釋了算法學(xué)習(xí)的直觀與趣味性,對(duì)算法感興趣的開發(fā)者具有極高的參考價(jià)值。強(qiáng)烈推薦!

《算法秘籍》

王一博 著
在這里插入圖片描述

購(gòu)買鏈接: 雙十一限時(shí)五折,點(diǎn)擊購(gòu)買

算法是編程的基石,開發(fā)的核心。

本書包含55個(gè)二維碼,300多分鐘視頻,100多個(gè)知識(shí)點(diǎn),50多個(gè)示例,適合程序員、計(jì)算機(jī)專業(yè)相關(guān)師生,以及對(duì)算法感興趣的讀者。

這是一本關(guān)于數(shù)據(jù)結(jié)構(gòu)和算法的書,以Java為描述語(yǔ)言,介紹了計(jì)算機(jī)編程中常用的數(shù)據(jù)結(jié)構(gòu)和算法。全書共13章,講述了常見的數(shù)據(jù)結(jié)構(gòu)、排序算法、位運(yùn)算、樹、遞歸、回溯算法、貪心算法、雙指針和滑動(dòng)窗口、BFS和DFS、前綴和、動(dòng)態(tài)規(guī)劃、并查集、其他經(jīng)典算法等知識(shí)。本書內(nèi)容豐富,實(shí)用性強(qiáng),通過示例練習(xí)和問題分析等方式,詳細(xì)講解了與算法有關(guān)的知識(shí)點(diǎn)。本書附贈(zèng)視頻講解二維碼,以及源代碼。

在這里插入圖片描述

在這里插入圖片描述


???重要????關(guān)注下方公粽號(hào) 《機(jī)器和智能》 回復(fù)關(guān)鍵詞 “python項(xiàng)目實(shí)戰(zhàn)” 即可獲取美哆商城視頻資源!

http://m.aloenet.com.cn/news/40593.html

相關(guān)文章:

  • 網(wǎng)站開發(fā)工具最適合百度小說排行榜
  • 網(wǎng)站里的輪廓圖 怎么做的廣告視頻
  • 泉州網(wǎng)站開發(fā)一個(gè)完整的營(yíng)銷策劃案范文
  • 鋼材網(wǎng)站建設(shè)排名軟件下載
  • 衡水冀縣做網(wǎng)站seo關(guān)鍵詞大搜
  • 想要去國(guó)外網(wǎng)站買東西怎么做最好的營(yíng)銷策劃公司
  • 大理市政府建設(shè)辦網(wǎng)站怎么開通網(wǎng)站平臺(tái)
  • 福永三合一網(wǎng)站設(shè)計(jì)新聞軟文推廣案例
  • 網(wǎng)站開發(fā)完整的解決方案網(wǎng)頁(yè)制作軟件dw
  • 蘇州網(wǎng)站建設(shè)招標(biāo)西安專業(yè)做網(wǎng)站公司
  • 什么公司做網(wǎng)站出名國(guó)際新聞
  • 上線了建站怎么樣kol合作推廣
  • 學(xué)做美食飲品網(wǎng)站國(guó)際新聞最新消息今天
  • 項(xiàng)目網(wǎng)格化管理方案外貿(mào)seo推廣
  • 做設(shè)計(jì)的地圖網(wǎng)站百度推廣怎么注冊(cè)賬號(hào)
  • 崇文網(wǎng)站建設(shè)北京網(wǎng)站優(yōu)化步驟
  • 網(wǎng)站空間流量西安競(jìng)價(jià)托管
  • 線上營(yíng)銷的優(yōu)勢(shì)和劣勢(shì)上海有哪些優(yōu)化網(wǎng)站推廣公司
  • 網(wǎng)站域名查詢官網(wǎng)網(wǎng)絡(luò)平臺(tái)
  • php網(wǎng)站開發(fā)視頻教程下載石家莊郵電職業(yè)技術(shù)學(xué)院
  • 用網(wǎng)站建設(shè)費(fèi)用南安網(wǎng)站建設(shè)
  • 浦東新區(qū)網(wǎng)站優(yōu)化公司關(guān)鍵詞推廣優(yōu)化排名如何
  • 做網(wǎng)站怎么備案谷歌官方網(wǎng)站登錄入口
  • 有沒有教做健身餐的網(wǎng)站搜索引擎優(yōu)化的主要手段
  • 網(wǎng)站橫幅廣告怎么做網(wǎng)站建設(shè)軟件
  • 坦洲網(wǎng)站建設(shè)公司哪家好拉新app渠道
  • 澳門建設(shè)銀行官方網(wǎng)站湖南優(yōu)化推廣
  • 公安網(wǎng)站備案服務(wù)類型萬(wàn)江專業(yè)網(wǎng)站快速排名
  • 網(wǎng)站備案用座機(jī)租用重慶百度總代理
  • 企業(yè)網(wǎng)站模板優(yōu)化寧波seo排名外包公司