数据结构和算法
酸碱ph
Hello world!
Bye,world.
展开
-
基于Java的二叉搜索树
支持泛型// 节点类,画蛇添足版。public class BSTNode<T extends Comparable<? super T>> { private T value; public T getValue() { return value; } public void setValue(T value) { this.value = value; } public BSTNode&l原创 2020-08-18 16:51:42 · 84 阅读 · 0 评论 -
二叉树遍历笔记
预设/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */前序遍历class Solution {public: vector<int> T; sta原创 2020-08-18 16:51:23 · 124 阅读 · 0 评论 -
KMP算法笔记
原理暂且不多赘述。主串mstr子串sstr场景:某一轮比较中,从某个位置开始(如mstr[k1]对应sstr[p1]),主串、子串逐位进行比较,一直匹配,直到发现mstr[k2] 的值与sstr[p2] 处的值不再匹配时,需要对子串进行移动。KMP算法提升性能的核心就在这里:BF算法是每次移动一位,并且主串和子串的游标都需要回溯,重新从mstr[k1+1]和sstr[p1+1]开始下一轮比较()而KMP算法可以做到一次性移动多位(只要符合条件)。简要叙述,就是在某一轮的比较过程中,记录已经匹原创 2020-08-18 16:50:53 · 261 阅读 · 0 评论 -
归并排序(基于C++的递归实现)
#include<iostream>using namespace std;void show(int Array[], int n){ int i; for (i = 0; i < n; i++){ cout << Array[i] << " "; } cout << endl;}void merge(int Arra...原创 2020-04-30 11:35:09 · 322 阅读 · 0 评论 -
快速排序(JavaScript实现)
function quick(array, n){ let max=0 let index; for(let i=0;i<n;i++){ if(max<array[i]){ max = array[i] index = i } } [array[index],arr...原创 2020-04-29 21:02:33 · 200 阅读 · 0 评论 -
快速排序实现(C++实现)
#include<iostream>using namespace std;template <class T>void Swap(T&a, T&b){ T tmp = a; a = b; b = tmp;}template <class T>T indexOfMax(T a[], int n){ int i,index;...原创 2020-04-28 20:20:35 · 156 阅读 · 0 评论