数据结构与算法
文章平均质量分 62
数据结构与算法自学摸索分享,以Go语言为主
RedJACK~
长期计算机爱好者
展开
-
数据结构入门-单调队列
单调队列入门原创 2022-12-16 03:35:40 · 390 阅读 · 0 评论 -
动态规划入门-01背包问题
动态规划01背包问题原创 2022-12-09 05:32:20 · 288 阅读 · 0 评论 -
回溯算法求解N皇后问题(Go语言)
回溯法求解N皇后(Go语言)原创 2022-10-21 04:50:21 · 266 阅读 · 0 评论 -
区间加减-差分数组、前缀和数组
差分数组入门原创 2022-08-20 09:19:37 · 577 阅读 · 0 评论 -
数据结构-Trie树(前缀树、字典树)Go语言
Trie树入门Go语言原创 2022-07-07 20:37:26 · 313 阅读 · 0 评论 -
BFS广度优先算法入门
BFS遍历二叉树原创 2022-06-06 12:12:28 · 215 阅读 · 0 评论 -
c++数据结构-二维数据的统计
c++数据结构-二维数据的统计功能要求读取文件中的二维数组并作以下统计每行和每列的最大数、最小数、平均数、中位数所有元素的最大数、最小数、平均数、中位数代码参考头文件Arr2D.h#include <string>using namespace std;constexpr auto MAXSIZE = 1000;// 二维数组类class Arr2D {private: int array[MAXSIZE]; int row, col, size; stri原创 2022-05-12 22:06:59 · 820 阅读 · 0 评论 -
二叉树练习题-c++
二叉树练习题-c++求二叉树高度说明二叉树的两指针域为lchild 与rchild,算法中p为二叉树的根,lh和rh分别为以p为根的二叉树的左子树和右子树的高,hi为以p为根的二叉树的高,hi最后返回。输入样例:[3,9,20,null,null,15,7]输出样例:3#include<string>#include<iostream>#include <queue>#include <algorithm>#include <s原创 2022-05-11 02:05:44 · 689 阅读 · 0 评论 -
LeetCode刷题笔记——回溯算法(组合、组合总和 Ⅰ II)-Go语言
LeetCode刷题笔记——回溯算法(组合、组合总和 Ⅰ II)-Go语言Go语言回溯解题模板func problemFunction(nums []type) [][]type { ans := [][]type{} temp := []type{} n := len(nums) var backTrack func(tmp []type) // 回溯函数声明 backTrack = func(tmp []type) { if len(tmp)原创 2022-04-27 22:03:45 · 259 阅读 · 0 评论 -
回溯算法解题套路框架-Go语言
回溯算法解题套路框架-Go语言解决一个回溯问题实际上就是一个决策树的遍历过程。原创 2022-04-26 18:31:46 · 278 阅读 · 0 评论 -
数据结构-二叉树入门Go语言实现
数据结构-二叉树入门Go语言实现之前我们一直在谈的是一对一的线性结构,可现实中,还有很多一对多的情况需要处理,所以我们需要研究这种一对多的数据结构——“树”,考虑它的各种特性,来解决我们在编程中碰到的相关问题。树的定义树(Tree)是n(n≥0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集 T1 、T2 、……、Tm ,其中每一个集合本身又是一棵树,并且称为根的子树(Su原创 2022-04-25 02:27:44 · 749 阅读 · 0 评论 -
Go语言排序算法-选择排序、冒泡排序、插入排序
Go语言排序算法-选择排序、冒泡排序、插入排序选择排序算法选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。func selectSort(nums []int) { n, minIndex := len(nums), -1 for i :原创 2022-04-22 23:54:46 · 142 阅读 · 0 评论 -
Java容器数据类型-HashMap入门使用
Java容器数据类型-HashMap入门使用lintcode相关练习题1910 · 数组中出现次数最多的值描述在给定的数组中,找到出现次数最多的数字。出现次数相同时,返回数值最小的数字。代码:import java.util.HashMap;public class Solution { /** * @param array: An array. * @return: An interger. */ public int findNumber(i原创 2022-04-17 16:13:50 · 360 阅读 · 0 评论 -
用栈深度优先算法解决迷宫问题-Go语言
用栈广度优先算法解决迷宫问题-Go语言问题描述以上是一个迷宫,我们要从右上角的入口走到左下角的出口。现在要设计一个程序输出可走的路线,如果无法到达出口则输出不能。问题分析对于以上的迷宫图我们要用一个二维数组进行模拟:const N, M = 8, 8 // 迷宫大小// 迷宫图var mg [N + 2][M + 2]int = [N + 2][M + 2]int{ {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 1, 0, 0, 0, 1, 0,原创 2022-04-16 02:19:16 · 1054 阅读 · 0 评论 -
数据结构-图的表示邻接矩阵与邻接表-Go语言
数据结构-图的表示邻接矩阵与邻接表-Go语言图的概念到底什么是图?图是由一系列顶点和若干连结顶点集合内两个顶点的边组成的数据结构。数学意义上的图,指的是由一系列点与边构成的集合,这里我们只考虑有限集。通常我们用G = (V,E)表示一个图结构,其中V表示点集,E表示边集。对于连接点之间的边根据其有无方向性分为:有向边和无向边。图的分类:#mermaid-svg-to7Bee2AA0DwZfdA {font-family:"trebuchet ms",verdana,arial,sans-serif原创 2022-04-14 01:05:22 · 1463 阅读 · 0 评论 -
Go语言数据结构-实现c++风格的数栈stack
Go语言数据结构-实现c++风格的数栈stackGo语言的基本数据类型的切片Slice其实就是传统的动态数组,它本是就可以当成一个栈来使用。package mainimport ( "fmt")type stack []int // 整数型栈// 入栈func (stk *stack) push(x int) { *stk = append(*stk, x)}// 出栈func (stk *stack) pop() int { res := (*stk)[len(*stk)原创 2022-04-05 04:02:40 · 779 阅读 · 0 评论 -
C++面向对象编程-日期类的实现与日期对象的线性表的实现
使用c++面向对象实现一个日期类原创 2022-03-28 16:30:08 · 1435 阅读 · 2 评论