原创 java遞歸以順序二叉樹的方式遍歷數組
數組可以轉換爲樹,樹也可以轉換爲數組 順序存儲二叉樹的特點: 順序存儲二叉樹通常只考慮完全二叉樹 第n個元素的左子節點爲 2 * n + 1 第n個元素的右子節點爲 2 * n + 2 第n個元素的父節點爲: (n -1)
原创 Java棧模擬遞歸之求和
public static int sum(int num){ if (num == 0){ return 0; } return num + sum
原创 StartUML類之間的關係
泛化[繼承]關係(Generalization) 也就是繼承關係,也稱爲“is-a-kind-of”關係,泛化關係用於描述父類與子類之間的關係,父類又稱作基類或超類,子類又稱作派生類。在 UML 中,泛化關係用帶空心三角形的直線
原创 Java 中iterator和iterable的關係是怎樣的
迭代器模式 在容器裏存放了大量的同類型對象,我們如果想逐個訪問容器中的對象,就必須要知道容器的結構。比如,ArrayList 和 LinkedList 的遍歷方法一定是不一樣的,如果再加上HashMap, TreeMap,以及我們
原创 golang導入新項目時遇到問題
go: github.com/StackExchange/[email protected]: Get “https://proxy.golang.org/github.com/%21st
原创 golang遞歸遍歷目錄
package main import ( "fmt" "io/ioutil" ) func WalkDir(filepath string) ([]string, error) { files, err := iou
原创 Java棧模擬遞歸之斐波那契數列
public class Solution { public static int Fibonacci(int num){ if (num < 2){ return num;
原创 StartUML給類添加方法
修改方法的屬性 方法拋出異常 raisedExceptions:表示方法拋出的異常,需要新創建一個異常類: 點擊搜索按鈕,會彈出一個對話框: 點擊 add,選擇剛纔創建的異常類: 如果有多個,還可以調整順序,調整完之後,
原创 go語言之進階篇結構體指針類型匿名字段
package main import "fmt" type Person struct { name string sex byte age int } type Student struct { *Pe
原创 golang中的方法與接口
在編程語言中,方法與函數的概念來搞清楚。函數指的是一個封裝的代碼塊,我們可以直接調用它,並且返回結果。而方法其實也是一種函數,只不過方法需要和某個對象綁定。Golang並沒有類的概念,不過仍然有方法和接口這些概念。 方法 方法
原创 java遞歸實現樹的一般操作
樹的操作 創建樹 銷燬樹 前序遍歷樹 中序遍歷樹 後序遍歷樹 層次遍歷樹 求葉子節點[度爲0]個數 求二叉樹第K層節點個數 求二叉樹第K層節點個數 遞歸代碼 // 需要一個數節點 public class TreeNode<
原创 go語言進階之爲結構體類型添加方法
package main import "fmt" type Person struct { name string sex byte age int } func (tmp Person)PrintInfo(
原创 go語言之進階篇同名字段
package main import "fmt" type Person struct { name string //名字 sex byte //性別, 字符類型 age int
原创 Java使用棧模擬遞歸遍歷目錄
package com.oceanstar; import java.io.File; import java.util.*; public class ArrayListImp { // 只顯示文件 publ
原创 go語言之進階篇面向對象編程
面向對象編程 對於面向對象編程的支持Go 語言設計得非常簡潔而優雅。因爲, Go語言並沒有沿襲傳統面向對象編程中的諸多概念,比如繼承(不支持繼承,儘管匿名字段的內存佈局和行爲類似繼承,但它並不是繼承)、虛函數、構造函數和析構函數、