今天看到一篇文章,說什麼是問題?漫漫人生中,我們總會遇到各種各樣的問題。那麼什麼是問題呢?看到這個標題很好奇。就點進去看了一下。
以下是總結和思考。
而解決方案,就是現狀到目標的路徑。
那麼,什麼是目標呢?目標應該是符合真實的需求。
那麼,什麼是需求呢?需求不僅包含當前這個問題,有時候它更需要考慮到整個系統。打個比方說,有一天某個系統出現了超時問題,那麼某程式設計師a就去改配置,把超時時間提高。這樣看上去問題目前是沒有了,但是這樣的做法帶來了更大的隱患。
再打個比方說,學程式設計的,打acm的。總是要刷題的,但是刷題的目標是什麼?就是要提高我們的程式設計水平是吧,掌握更多的資料結構和演算法,理解整個資料的流向,如何從輸入到我們需要的輸出。
那麼程式設計水平提高的重點?那就是走出水題。多去掌握自己不知道的東西是吧。人只有不斷的學到自己以前不知道的東西,感覺到難度,水平才會提公升。
那麼根據這個目標,我們就需要有選擇性的選題目。過濾掉我們已經掌握的題目,去接觸自己當下做不出來的題目。
什麼是路徑,什麼又是目標呢?
就如上所說,刷題只是我們為了達成程式設計水平提高這個目的的手段。如果想也不想的就刷題,效率其實是非常低的,目的(提高程式設計水平)也是達不到的。
再說一下,有時候習慣和環境帶來的潛移默化也很重要。
回想我們小時候是怎麼學語文的呢?就是背誦和使用,小孩子是很難說有什麼目的的。但是他身處充滿中文的環境中,就算他本身不會特別的去注意,但是我們的大腦有這樣的機制去學習和記憶。
回到問題本身。
程式設計師是怎麼解決問題的呢?
以下是我不太成熟的想法。
錯誤系統鏈條形的。從終端到網路,再到流量入口,再到服務端。這中間只要有乙個地方出了問題,系統就會出現了問題,我們需要乙個個去排查。比如說先檢查流量入口,流量是否到達了,如果沒有就再去檢查網路,如果網路能夠正常達到,就看看是不是流量入口的問題。
另外如果系統是樹形的,再乙個結點的時候,就需要依次排查。
架構系統能夠正常執行。但是我們覺得它有些方面不夠好,比如說存在效能瓶頸,安全性,穩定性等等問題。這個時候,就需要針對我們的核心需求去改善了。
所以,多去思考為什麼?我們的目的是什麼?
什麼是P問題,什麼是NP問題,什麼是NPC問題
參考 講的真好!非多項式級別 運算慢,巨大 o n o 多項式級的複雜度 運算快,比較小 o 1 o n o 該問題能夠找到乙個解決演算法,時間複雜度是o 1 o n o 多項式時間 的級別 找乙個解很困難,但驗證乙個解很容易。我們可能沒有乙個已知的快速的解決問題的方法,但是如果給我們乙個候選的答案...
什麼是NP問題?
什麼是np問題 概念 在計算機學科中,存在多項式時間的演算法的一類問題,稱之為p類問題 而像梵塔問題 推銷員旅行問題 命題表示式 可滿足問題這類,至今沒有找到多項式時間演算法解的一類問題,稱之為np類問題。拿推銷員旅行問題為例,假設推銷員亨利有向6個城市推銷公司產品的任務,並規定了乙個旅行預算。他手...
面試 什麼是P NP NPC NPH問題
p 乙個問題可以在多項式 o n k 的時間複雜度內解決 計算機比較容易算出答案的問題.np 問題的解可以在多項式的時間內被驗證 已知答案以後計算機可以比較容易地驗證答案的問題。nph 任意np問題都可以在多項式時間內歸約為該問題,但該問題本身不一定是np問題 給出乙個答案,計算機可能驗證也可能驗證...