成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python、Java、C++一網打盡,這個GitHub項目用多種語言實現經典算法

新聞 前端 算法
不想做低級碼農,不想成為前端摳圖達人或是后臺「增刪改查」小王子?那你可能需要好好復習下算法與數據結構。

 經典數據結構和算法你了解幾個?想去大廠面試?想成為算法工程師?收下這份全面的復習材料。

不想做低級碼農,不想成為前端摳圖達人或是后臺「增刪改查」小王子?那你可能需要好好復習下算法與數據結構。想成為算法工程師,基礎知識是繞不開的大山。這次要推薦的項目是數據結構與算法的開源項目集,覆蓋多種主流語言,實現各類經典數據結構及算法。

Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

項目地址:https://github.com/trending

The Algorithms 項目介紹

正如 The Algorithms 項目主頁上介紹的那樣,這是一個使用多種編程語言,實現經典數據結構與算法的開源項目集。這里的「any Programming Language」真是沒有虛假宣傳,我們可以看到 The Algorithms 里從較為流行的 Python、Java、C、C++到 C#、Go、Rust、Kotlin 語言應有盡有,當然有的編程語言實現的算法還不是那么的豐富,其中維護較好的還是 Python 和 Java。

 Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

本文以 The Algorithms 的 Python 項目為例進行介紹。

截至目前,該項目已經有 7 萬多星,內容涵蓋加密算法、圖像處理、動態規劃、線性代數、經典機器學習算法、搜索算法、排序算法以及各種數據結構等,單是所實現算法的目錄就有 600 多行……當然,項目作者也指出,該項目的主要目的是用作各種算法的學習資料,項目中的一些實現可能沒有 Python 標準庫中的那么高效。

 Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

項目地址:https://github.com/TheAlgorithms/Python

部分算法展示

該項目吸引人的地方不單是里面有豐富的算法實現,部分算法還配有相關解釋、維基百科鏈接和交互網頁鏈接。我們選取了其中的部分算法實現進行展示。

排序算法

1. 冒泡排序

 Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

冒泡排序是一種簡單的排序算法。它重復地走訪要排序的數列,一次比較兩個元素,如果它們的順序錯誤就將其交換過來。重復以上過程直到沒有需要交換的元素,即表示完成排序。該算法名字的由來是越小的元素會經由交換慢慢「浮」到數列的頂端。

算法復雜度:

  • 最壞 O(n^2)
  • 最好 O(n)
  • 平均 O(n^2)

交互網頁地址:https://www.toptal.com/developers/sorting-algorithms/bubble-sort

2. 插入排序

 Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

插入排序的工作原理是通過構建有序序列,對于未排序數據,在已排序序列中從后向前掃描,找到相應位置并插入。插入排序在實現上通常采用 in-place 排序,因而在從后向前掃描過程中,需要反復把已排序元素逐步向后挪位,為最新元素提供插入空間。

算法復雜度:

  • 最壞 O(n^2)
  • 最好 O(n)
  • 平均 O(n^2)

 交互網頁地址:https://www.toptal.com/developers/sorting-algorithms/insertion-sort

3. 歸并排序

 Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

歸并排序是建立在歸并操作上的一種有效的排序算法,由約翰·馮·諾伊曼首次提出。該算法是采用分治法的一個非常典型的應用,且各層分治遞歸可以同時進行。

算法復雜度:

  • 最壞 O(n log n)
  • 最好 O(n)
  • 平均 O(n)

交互網頁地址:https://www.toptal.com/developers/sorting-algorithms/merge-sort

4. 快速排序

 快速排序算法最早由東尼·霍爾提出。使用分治法策略把一個序列分為較小和較大 2 個子序列,然后遞歸地排序兩個子序列。

算法復雜度:

  • 最壞 O(n^2)
  • 最好 O(n log n) 或 O(n) 
  • 平均 O(n^2)

交互網頁地址:https://www.toptal.com/developers/sorting-algorithms/quick-sort

5. 希爾排序

希爾排序也稱遞減增量排序算法,是插入排序的一種更高效的改進版本,按其設計者希爾(Donald Shell)的名字命名,該算法由 1959 年公布。希爾排序是非穩定排序算法。

算法復雜度:

  • 最壞 O(nlog2 2n)
  • 最好 O(n log n)
  • 平均復雜度取決于步長序列

交互網頁地址:https://www.toptal.com/developers/sorting-algorithms/shell-sort

搜索算法

1. 線性搜索算法

線性搜索也稱為順序搜索,其使用一個循環按順序遍歷整個數組,將每個元素與正在搜索的值進行比較,并在找到該值或遇到數組末尾時停止。

算法特性:

  • 最壞算法復雜度 O(n)
  • 最好算法復雜度 O(1)
  • 平均算法復雜度 O(n)
  • 最壞空間復雜度 O(1) 

2. 二分查找算法

 Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

二分查找算法也稱折半搜索算法、對數搜索算法,是一種在有序數組中查找某一特定元素的搜索算法。搜索過程從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜索過程結束;如果某一特定元素大于或者小于中間元素,則在數組大于或小于中間元素的那一半中查找,而且跟開始一樣從中間元素開始比較。如果在某一步驟數組為空,則代表找不到。這種搜索算法每一次比較都使搜索范圍縮小一半。

  • 算法特性:
  • 最壞算法復雜度 O(log n)
  • 最好算法復雜度 O(1)
  • 平均算法復雜度 O(log n)
  • 最壞空間復雜度 O(1)

作者簡介

該項目作者是位印度籍工程師,對技術開發非常癡迷,并坦言自己是一個非常有「雄心壯志」的小伙,之后想成為一名企業家。從技術角度看,作者對全棧開發、android 開發、深度學習以及區塊鏈等技術都很感興趣。目前,他已經在 3 家創業公司工作過,并在開發領域積累了 2 年的經驗。

Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

從過往經歷來看,印度小哥的工作經歷還是很「豐富多彩」的,從開始將自己定位為軟件工程師,到目前在 Gojek 任職產品工程師。

 Python、Java、C++一网打尽,这个GitHub项目用多种语言实现经典算法

 Gojek 是印度尼西亞第一家獨角獸公司,于 2010 年在印度尼西亞成立。我們可以將這家公司理解為呼叫中心,將消費者與快遞和兩輪叫車服務連接起來。該公司同時在印度尼西亞、越南、新加坡、泰國和菲律賓都有不少的業務發展。

 

 

責任編輯:張燕妮 來源: 機器之心
相關推薦

2024-04-26 00:25:52

Rust語法生命周期

2021-08-05 06:54:05

流程控制default

2024-04-07 08:41:34

2024-02-27 10:11:36

前端CSS@規則

2021-10-11 07:55:42

瀏覽器語法Webpack

2011-12-02 09:22:23

網絡管理NetQos

2010-08-25 01:59:00

2024-08-26 10:01:50

2013-08-02 10:52:10

Android UI控件

2024-06-12 00:00:05

2020-02-21 08:45:45

PythonWeb開發框架

2013-10-16 14:18:02

工具圖像處理

2023-04-06 09:08:41

BPM流程引擎

2024-09-18 09:08:00

AIGitHubOpenAI

2024-06-24 12:51:50

2019-12-11 13:42:19

開源技術 軟件

2024-02-23 08:14:01

項目開發Spring

2023-09-26 00:29:40

CSS布局標簽

2020-10-19 06:43:53

Redis腳本原子

2023-04-03 08:30:54

項目源碼操作流程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 992tv人人草 久久精品超碰 | 国产午夜精品一区二区三区在线观看 | 天天久久 | 亚洲视频一区在线观看 | 免费看国产精品视频 | 欧美aaaaaa| 午夜成人免费电影 | 精品国产一区二区三区在线观看 | 特级黄一级播放 | 日韩在线综合 | www.伊人.com| 久草视频观看 | 国产精品中文字幕在线 | 亚洲综合网站 | 亚洲图片一区二区三区 | 一级毛片网 | 99精品国产一区二区青青牛奶 | 日韩插插 | www日本在线 | 国产区在线观看 | 国产精品毛片无码 | 欧美成人免费 | 欧美日韩在线精品 | 日本精品裸体写真集在线观看 | 欧美视频精品 | 啪啪免费 | 欧美一a一片一级一片 | 99久久免费精品国产免费高清 | 欧美一级久久 | 国产精品极品美女在线观看免费 | 久久精品国产免费一区二区三区 | 男女激情网站免费 | 激情伊人网 | 亚洲一二三区精品 | 天天干天天插天天 | 国产欧美精品区一区二区三区 | 浴室洗澡偷拍一区二区 | 六月色婷 | 国产线视频精品免费观看视频 | 午夜日韩 | 99久久久久久久 |