原创 線索二叉樹和非遞歸遍歷(中序)

基於中序遍歷的線索二叉樹和非遞歸遍歷 #include <stdio.h> #include <malloc.h> #define MaxSize 100 typedef char ElemType; typedef struct no

原创 圖的遍歷之深度優先遍歷DFS

GraphBasicOperation.cpp文件鏈接:https://blog.csdn.net/qq_16261421/article/details/106005857 深度優先搜索遍歷的過程是:   (1)從圖中某個初始頂點v出發

原创 圖數據結構的定義

用鄰接矩陣和鄰接表存儲,將其命名爲文件graph.h頭文件,後續圖的所有算法都依賴於該文件。  1.鄰接矩陣存儲方法           鄰接矩陣是表示頂點之間相鄰關係的矩陣。設G=(V,E)是具有n(n>0)個頂點的圖,頂點的順序依次爲

原创 圖的遍歷之廣度優先遍歷BFS

GraphBasicOperation.cpp文件鏈接:https://blog.csdn.net/qq_16261421/article/details/106005857 廣度優先搜索遍歷的過程是:   (1)訪問初始點v,接着訪問v

原创 環形隊列2-基於隊頭指針和隊列中元素的個數的另一種實現

        基於隊頭指針和隊列中的元素個數實現環形隊列         對於環形隊列來說,如果知道隊頭指針和隊列中元素個數,則可以計算出隊尾指針。也就是說,可以用隊列中元素個數代替隊尾指針。 由隊頭指針和元素個數進行如下計算: 已知f

原创 稀疏矩陣十字鏈表表示法

稀疏矩陣十字鏈表表示法和基本運算 #include <stdio.h> #include <malloc.h> #define M 3 //矩陣行 #define N 3 //矩陣列 #

原创 廣義表的基本運算

廣義表的基本運算和實現 #include <stdio.h> #include <malloc.h> #include "glnode.h" int GLLength(GLNode *g) //求廣義表g的長度 { int n=0;

原创 稀疏矩陣三元組表示法

稀疏矩陣三元組表示法的定義及其基本運算 #include <stdio.h> #define M 6 #define N 7 #define MaxSize 100 //矩陣中非零元素最多個數 typedef int

原创 數據結構(JAVA版)

數據結構JAVA語言版 常用算法和數據結構 單鏈表:https://blog.csdn.net/qq_16261421/article/details/92423147 循環單鏈表:https://blog.csdn.net/qq_162

原创 BF算法(簡單匹配算法)

字符串的簡單匹配算法-BF算法的實現 #include "sqstring.cpp" int index(SqString s,SqString t) { int i=0,j=0; while (i<s.length && j<t.

原创 數據結構(C語言實現)

數據結構-C語言實現 常用算法清單: 數據結構(C語言版) 順序表:https://blog.csdn.net/qq_16261421/article/details/103951230 單鏈表:https://blog.csdn.net

原创 先序遍歷+中序遍歷->二叉樹 & 中序遍歷+後續遍歷->二叉樹

#include"btree.cpp"文件鏈接:https://blog.csdn.net/qq_16261421/article/details/105920539 由先序遍歷和中序遍歷可以唯一的確定一顆二叉樹,使用遞歸的方法創建。 由

原创 折半插入排序(二分插入排序)-JAVA語言版本

import java.util.Arrays; public class BinaryInsertSort { //這般插入排序 public static void main(String[] args) {

原创 直接插入排序-JAVA語言實現

//直接插入排序 import java.util.Arrays; public class DirectInsertSort { /** * @param args */ public static void Di

原创 快速排序-JAVA語言實現

import java.util.Scanner; public class QuickSort { /** * @param args */ public static void Display(int[] ar