原创 Java方式實現二叉樹的前中後序遍歷的遞歸及非遞歸算法

最近在研究數據結構算法,發現許多樹類的算法都很靈活,所以研究了一下基礎二叉樹的遞歸以及非遞歸的三種遍歷方式,在這裏記錄下來方便以後回憶。 以該樹爲例: 二叉樹的遍歷爲三種:前序遍歷、中序遍歷、後續遍歷。 前序遍歷(先根遍歷)

原创 java學習之產生隨機數的三種方式

Java產生隨機數的幾種方式 一.在j2se裏我們可以使用Math.random()方法來產生一個隨機數,這個產生的隨機數是0-1之間的一個double,我們可以把他乘以一定的數,比如說乘以100,他就是個100以內的隨機,這個在j2m

原创 Comparable與Comparator的比較

原貼:http://blog.csdn.net/u013256816/article/details/50899416?locationNum=3&fps=1  今天博主在翻閱TreeMap的源碼,發現其鍵必須是實現Comparabl

原创 MySQL語法及基礎知識大全

前段時間應聘一家公司面試時對方讓我寫一個聯表查詢的語句,我居然沒有寫出來然後就沒有然後了,後來反省了一段時間,本人是搞Java後臺開發的如果數據庫的基本語法都不熟練的話那基本GG,所以之後花了一週時間梳理了一下MySQL的基本知識記錄下來

原创 深入解析java線程池

本文是我在博客園上看到的一篇講線程池寫的很好的文章,實在忍不住就轉載了。 原貼地址 Java併發編程:線程池的使用 我們使用線程的時候就去創建一個線程,這樣實現起來非常簡便,但是就會有一個問題:   如果併發的線程數量很多,並且每

原创 OSI七層模型詳述

OSI參考模型(OSI/RM)的全稱是開放系統互連參考模型(Open SystemInterconnection Reference Model,OSI/RM),它是由國際標準化組織ISO提出的一個網絡系統互連模型。OSI 七層模型通過

原创 初學者SSM框架的創建過程

搭建jdk、myeclipse等環境的過程網上資源很多,這裏也給出一個鏈接供大家參考:http://blog.csdn.net/zhshulin/article/details/30779873 搭建環境好以後就可以直接創建Maven項目

原创 mysql索引的使用及優化方法

上篇講了數據基本的語法及SQL語句,這篇講講MySQL的優化查詢及一些高級管理功能。 數據庫高級管理及優化   MySQL性能優化 優化MySQL數據庫是數據庫管理員和數據庫開發人員的必備技能。優化MySQL,一方面是找出系統的瓶頸,

原创 計算機網絡之TCP/IP協議族

上篇講了OSI的七層模型,該模型將網絡分爲七個層次每個層次之間各司其職互不干擾是一種非常優秀的設計。OSI七層模型是一種非常理想的模型但在現實中使用的是TCP/IP協議(傳輸控制協議/英特網互聯協議),它只有四層大大簡化了網絡的層次。但

原创 程序員必備排序之選擇排序、堆排序

選擇排序的基本思想是:每一趟在後面的n-i+1個待排序元素中選取關鍵字最小的元素,作爲有序子序列的第i個元素,直到第n-1趟做完。各大排序性能比較:三、選擇排序3.1直接選擇排序1、基本思想:簡單選擇排序確實比較簡單,其思想就是每次在後面

原创 程序員必備排序之插入排序、希爾排序

由於最近要找實習單位便在刷算法題,發現許多算法題都涉及到排序的知識所以今天把排序的內容總結一遍備忘。博客中的內容大部分是參考《王道數據結構》 內部排序分爲幾類分別爲:插入排序(直接插入排序、希爾排序),交換排序(冒泡排序、快速排序),選擇

原创 程序員必備排序之冒泡排序、快速排序

上篇講了插入排序本篇講交換排序,所謂交換排序便是根據序列中倆個元素關鍵字的比較結果來對換這倆個記錄在序列中的位置。 各排序算法的比較: 二、交換排序 2.1冒泡排序 1、基本思想:假設待排序表長爲N,從後往前(或從前往後)倆倆比較相鄰元

原创 劍指offer之求二叉樹的深度(非遞歸的層次遍歷)Java實現

劍指offer上一道比較基礎的題目,但這個解法不僅可以求二叉樹的深度同時可以求二叉樹的最大層數,某一層的某一個節點 是一種比較通用的方法! 先建立數據模型 package Binary_tree; public class Node

原创 在線筆試-求二叉樹中倆個節點的最低共同父節點

昨天做美團點評的在線筆試題中遇到一道求二叉樹中倆節點的最低父節點的題,當時寫的很亂做完之後在網上查了下發現這種題目有很多變種很有意思,特意記錄下來備忘。 求二叉樹倆個節點的共同父節點大概有三種題型: 1、二叉樹爲雙向鏈表 2、二叉樹爲二

原创 劍指offer之求數組中最小的n個數

牛客網上劍指offer原題:輸入n個整數,找出其中最小的K個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。解法很多個人想到的四種下面一一記錄下來:1、直接暴力解決使用數組自帶的排序完後,取其前k個