原创 高效率取冪算法

</pre><pre name="code" class="cpp">/********運行時間爲o(logN)********/ #include<stdio.h> int main() { long int Pow(long int

原创 歐幾里德算法(求兩個數的最大公約數)

求兩個數的最大公約數 #include<stdio.h> int main() { unsigned int Gcd(unsigned int M,unsigned int N); int a,b; printf("please e

原创 數據結構1.1——線性表

線性表:n個數據元素(A1,A2......An)的有限序列,大小爲0的表爲空表。 前驅:在非空表中我們稱A(i+1)是Ai前驅。 後繼:在非空表中我們稱A(i--1)是Ai後繼。 1.線性表的順序表示 用一組地址連續的順序存儲單元一次

原创 最大子序列和

給定整數A1,A2......An(可能有負數),求其最大子序列和(如果所有整數均爲負數,則最大子序列和爲0)(問題與算法來自數據結構與算法分析) 一般算法如下,算法運行時間(o(N²))int Max_Subsequence_Sum(c

原创 數據結構4.1——樹

樹(tree)   (定義樹的一種自然的方式是遞歸的方法)一棵樹是一些節點的集合。這個集合可以是空集;若非空,則一棵樹是由稱作根(root)的節點r以及0個或多個非空的子樹T1,T2......TK組成。        度(Degre

原创 編程之美一——字符串

    字符串是最常見的面試題目類型,應當分配最大的時間。字符串本身很簡單,但是相關的題目需要更復雜的算法來解決。比如說動態規劃,搜索,等等。 字符串中常用到的函數有(C語言) #include<string.h> strlen求

原创 數據結構2.1——棧

棧 棧(stack)是限定僅在表尾進行插入或者刪除的線性表,表尾端稱爲棧頂(top),表頭端稱爲棧底(bottom)。棧有時又叫做先進後出的線性表,棧的基本操作有進棧(push)和出棧(pop),前者相當於插入,而後者則是刪除最後插入的元

原创 數據結構3.1——隊列

隊列 隊列(queue)是一種先進先出的線性表。它只允許在表的一端進行插入,而在另一端進行刪除。允許插入的一端叫做隊尾(rear),允許刪除的一端則稱爲對頭(front)。隊列的基本操作有入隊(enqueue),即在表的尾端插入一個元素,

原创 STL1——順序容器和順序容器適配器

容器        容器是容納特定類型對象的集合,容器的類型分爲順序容器,容器適配器和關聯容器,順序容器將單一類型元素聚集起來成爲容器,然後根據位置來存儲和訪問這些元素。        順序容器的元素排列次序與元素值無關,而是由元素添加到

原创 Linux操作系統1——命令概覽(待繼續完善)

可以簡單的把Linux 的命令行大致分爲以下六類: 1.文件和目錄操作命令 2.過濾器 3.程序設計工具(編輯器和編譯器) 4.文檔處理 5.系統管理 6.其他 1.文件和目錄操作命令 ls——顯示文件的文件名以及屬性 chgrp——改變

原创 XML

XML語言即是可擴展標記語言,可以對文檔和數據進行結構化處理,它被設計用來傳輸和存儲數據 XML語法 一個XML文件分爲如下幾個部分:文檔聲明、元素、屬性、註釋、CDATA區、特殊字符、處理指令。 文檔聲明 一般放在文檔的第一行,說明

原创 JAVA集合框架

JAVA集合框架 JAVA集合類庫與現代大多數數據結構類庫一樣,也將接口與實現分離,利用這種方式,一旦改變了想法,可以輕鬆地使用另一種不同的方法實現; Collection接口和Iterator迭代器接口 集合類的基本接

原创 最簡單的Git教程

從零起步的Git教程,讓你無痛苦上手世界上最流行的分佈式版本控制系統Git! 既然號稱史上最淺顯易懂的Git教程,那這個教程有什麼讓你怦然心動的特點呢? 首先,本教程絕對面向初學者,沒有接觸過版本控制概念的讀者也可以輕鬆入門,不必擔心起步

原创 STL2——關聯容器

關聯容器         關聯容器支持通過鍵(key)來高效地查找和讀取元素。兩個基本的關聯容器是map和set,map的元素以鍵-值對形式組織,鍵用做索引,值表示存儲和讀取的數據,set包含一個鍵,並有效地支持關於某個鍵是否存在的查詢。

原创 JVM虛擬機內存管理

JVM虛擬機內存管理 JVM是運行在操作系統之上的一個抽象計算機,運行在JVM上的JAVA程序,隔離了計算機底層的差異,實現了“write once,run anywhere”。 JVM可以分爲四個部分:類加載器(Class