原创 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語言並沒有沿襲傳統面向對象編程中的諸多概念,比如繼承(不支持繼承,儘管匿名字段的內存佈局和行爲類似繼承,但它並不是繼承)、虛函數、構造函數和析構函數、