原创 C++中的複數

C++中的複數    C++中的複數操作在C語言基礎上引進了面向對象的特性,在 C++ 頭文件在 complex 中定義了一個 complex 類用來表示複數。同時爲了兼容 C 的 complex 類型,也提供了一個 comple

原创 Linux用戶管理 ----- 禁止用戶登陸

    Linux下的用戶主要分爲兩種,一種是系統用戶,一種是普通管理用戶, 系統用戶和普通用戶的區別就是,添加的系統用戶不會出現在登陸界面,而添加的普通用戶則會默認的出現在登陸界面上. 如何分辨系統用戶和普通管理用戶     

原创 C語言中的複數

C語言中的複數操作 Note: complex類型是從c99標準的時候引入的,但是具體的實現並不是標準的一部分,每個編譯器的實現的標準可能不一樣,具體的還請查詢相關的編譯器的實現標準。本文針對gcc編譯器。    複數在數學運

原创 PHP面試總結-1

面試公司面試中體現出的問題解決和提升的方法面試官提出的問題 首先進行自我介紹關係型數據庫和非關係型數據庫之間的區別 兩者的本質區別:非關係型數據庫的優勢:關係型數據庫的優勢:現在的相關技術Mysql的HandlerSocket命令空間的作

原创 C++的屬性指示符

         C++的屬性指示符,有點類似Java中Anotation, 是可以實現定義的。它主要是用來引入一些對象,類型,代碼的屬性,也可以理解爲限制對象,類型,代碼的一些行爲。它爲實現定義的語言擴展提供標準統一的語法,比如GNU和

原创 Graphivz中文顯示問題

   Graphviz (相關詳細教程請點擊進入官網)是基於dot語言的繪圖工具,可以畫有向圖,無向圖,關係圖,目錄圖,流程圖等。在使用過程中,發現 Graphivz 對 中文的支持還是不夠,容易出現各種各樣的問題。 中文亂

原创 Makefile快速入門

   Make是一個可擴展性極強的編譯構建工具,將它和相關語言的編譯器結合起來,我們幾乎可以用它來 編譯構建任何編程語言程序。 Makefile的基本語法結構    make主要是通過默認的 Makefile 或 makefil

原创 大數據學習筆記之Spark-優化

Spark優化 函數傳遞 在spark中,很多操作都需要依賴用戶傳遞的函數,在我們傳遞函數的時候,如果函數中包含其他對象的飲用,Spark也會把其他對象傳遞。(尤其是在python中) 解決方法: 將函數中的必要字段轉換成局部

原创 大數據學習筆記之Spark-RDD編程

RDD編程 Spark中的核心數據操作: 創建RDD 轉換已有的RDD 調用RDD操作進行求值 Note: RDD是Spark數據操作的核心,它的主要特點是操作鏈,惰性求值。 RDD創建 創建RDD主要有兩種方法: 讀取外部

原创 算法-堆排序

堆排序 思路 將數組轉換成一個最小堆(升序排序)/最大堆(降序排序),然後挨個刪除並輸出堆頂元素,並繼續調整堆爲最小堆(升序排序)或者 最大堆(降序排列),從而最終生成一個升序或者降序序列。 算法複雜度 平均複雜度爲:

原创 算法-歸併排序

歸併排序 思路 歸併排序採用的是分治的思想,將一個 n 長度的數組不斷的分成無數個小數組,然後對小數組進行排序, 最後將所以的有序小數組合並,最終數組有序。 算法複雜度     歸併排序的平均複雜度: O(n) = nlog

原创 算法-插入排序

插入排序 思路 插入排序是最直觀和自然的排序,它是從左到右,將一個數從它爲起始位置 loc ,從右向左,進行比較,如果 array[loc-1] < array[loc] 或者 loc = 0 ,那麼就將這個數插入 loc 位置

原创 算法-冒泡排序

冒泡排序 思路 模擬水中的冒泡過程, 大的水泡總是從底部不斷的超過小的水泡,最終上升到水面。冒泡排序也是,從左到右, 小的數不斷的從右邊冒泡上升到左邊,最終實現有序。 複雜度     冒泡排序的最壞時間複雜度爲: O(n)

原创 算法-查找數組中的前M大的數

查找數組中的前M大的數 思路 根據快速排序的Partition的思想,假定數組長度爲n, 選定一個pivot,總能將數組分爲 [0,k-1]和[k,n], 其中[0,k-1]<pivot,[k+1,n] > pivot。如果 k

原创 算法-分塊/索引查找

分塊/索引查找 思路 前提: 1.塊間有序 2.塊內可以無序 3.索引中保存塊的起始地址,和塊內的最大值或者最小值 首先對索引進行折半查找,然後對塊內進行順序查找。 算法複雜度     假設一個n長度的數組分爲m塊