Python第一周小結

經歷了兩個星期Linux運維基礎的鋪墊,這周我們正式開始了python的學習。經過第一周的各種掙扎以及反復訓練,終于有所收獲了一點東西。現在將第一周中學到的一個非常重要的算法技巧總結如下:

即:折半思想

例:給定一個不超過五位數的正整數,判斷該數有幾位數

Code1:??????????????????????????????????????????????????????????????????????????????? Code2:

a = int(input(‘Please enter number1: ‘))??????????????????????????? a=int((input”Please enter a number:”))

if a<10:????????????????????????????????????????????????????????????????????????????????????? if a >= 100:
? print(“yiweishu”)???????????????????????????????????????????????????????????????????????? if a >= 10000:
elif a<100:?????????????????????????????????????????????????????????????????????????????????????????? print(5)
? print(“liangweishu”)??????????????????????????????????????????????????????????????????? elif a >= 1000:
elif a<1000:???????????????????????????????????????????????????????????????????????????????????????? print(4)
? print(“sanweishu”)?????????????????????????????????????????????????????????????????????? else:
elif a<10000:????????????????????????????????????????????????????????????????????????????????????? print(3)
? print(“siweishi”)???????????????????????????????????????????????????????????????????? else:
elif a<100000:????????????????????????????????????????????????????????????????????????????????? if a >= 10:
? print(“wuweishu”)????????????????????????????????????????????????????????????????????????????? print(2)
????????????????????????????????????????????????????????????????????????????????????????????????????????????? else:
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????? print(1)

?????? 通過對比這兩組簡單的代碼,我們發現右邊的代碼明顯的使用了折半的思想。具體體現為當判斷一個不超過五位數的正整數時,由于該數最大可能出現的位數是五位,因此找到判斷的中間點,即100。從100先開始判斷起,比100大即進入循環,否則不進入。直接縮小了匹配的范圍,對于算法效率的提升有顯著的效果。因此,在以后遇到查找匹配以及圖形打印等具有對稱性質的類型分析時,適當的通過折半提升算法效率,不失為一個很好的選擇。

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/93070

(0)
guoxingxingguoxingxing
上一篇 2018-03-26 20:17
下一篇 2018-03-26 20:22

相關推薦

  • Linux下的文件管理系統

    一、文件系統的FHS標準     因為Linux的屬于開源系統,開發人員多,為了統一開發標準,Linux有一個文件系統標準,也就是FHS(Filesystem HierarchyStandard)標準。有了這個標準,那些獨立的軟件開發商、系統開發人員以及系統的使用者就能方便的在系統上操作。 二、文件系統  &…

    Linux干貨 2016-08-02
  • ansible——自動化運維工具

    Ansible SSH-based configuration management, deployment, and task execution system 運維工具的分類: agent:基于專用的agent程序完成管理功能,puppet, func, zabbix, … agentless:基于ssh服務完成管理,ansible, fab…

    Linux干貨 2016-11-06
  • gawk

    簡介     AWK是一種優良的文本處理工具。它不僅是 Linux 中也是任何環境中現有的功能最強大的數據處理引擎之一。AWK 提供了極其強大的功能:可以進行樣式裝入、流控制、數學運算符、進程控制語句甚至于內置的變量和函數。它具備了一個完整的語言所應具有的幾乎所有精美特性。實際上 AWK 的確擁有自…

    Linux干貨 2016-03-25
  • Linux nginx 服務

                           Linux nginx 服務 Nginx服務簡介:      NGINX :是一個自由、開源、高性能、輕量級的HT…

    系統運維 2016-11-18
  • 第一篇文章

    第一篇文章。

    Linux干貨 2016-12-26
  • MySQL復制

    目錄: 1.備份與恢復 2.主從復制 3.主主復制 4.半同步復制 5.MHA 6.centos7搭建mariadb Galera集群 1.備份和恢復 備份工具:mysqldump+復制binlog xtrabackup (1) mysqldump+復制binlog 備份: mysqldump -E -R –triggers –master-data=2 –…

    2017-11-21
欧美性久久久久