数据结构
文章平均质量分 61
OnlyGky
欢迎大家去我的掘金博客围观:
https://juejin.cn/user/3034307824470606/activities
展开
-
我的学习笔记-Java服务端开发
从开始进入Java服务端的开发,到目前练习生时长已达三年,在这期间摸爬滚打也走了不少弯路,在此分享一下自己的一个学习历程,希望各位看官在Java服务端学习方面可以少走弯路。ps:不要听信什么年轻人可以多试错涨经验的鬼话,在精力和精神都是饱满状态的学习黄金时期,每一次错误在十年二十年后累积都是昂贵的成本,因此在前期选择一名服务端开发工程师真正所需要的知识进行学习,在这基础之上试错也能得到更快的进步。我将所有的Java知识按照分为如下十四个模块Java相关内容Java基础在这个模块中面试官的问题有一种原创 2021-01-17 21:25:47 · 1375 阅读 · 1 评论 -
背包九讲-Go详解
背包问题本质上是动态规划的一种,一般也是通过状态转移方程式来解决问题,问题一般是以一个有固定容量或者承重的背包和一些固定体积,重量和价值的物品,填充背包从而使背包中物品的价值最大化01背包01背包中每个物品只有选或不选两种状态主要关键点:01背包的主要难点就是在于状态转移方程式的确定,这一点其实也是所有动态规划的难点所在,另一个就是为何物体的体积是逆序遍历的?代码如下:func main() { //背包容积 var v int //物体数量 var n int fmt.Scanf("原创 2020-12-13 20:50:56 · 249 阅读 · 0 评论 -
Java实现二叉树的前中后序遍历(Leetcode)
前序遍历:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution {...原创 2018-12-17 15:48:30 · 589 阅读 · 0 评论 -
Leetcode---Java
注:记录的都是写不出来的或者超时的1---507. 完美数对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为“完美数”。给定一个 正整数 n, 如果他是完美数,返回 True,否则返回 False示例:输入: 28输出: True解释: 28 = 1 + 2 + 4 + 7 + 14注意:输入的数字 n 不会超过 100,000,000. ...原创 2018-10-13 18:42:02 · 211 阅读 · 0 评论 -
Java,C实现约瑟夫环,一元多项式运算器
1 约瑟夫环问题描述:(初始密码为m)约瑟夫环问题是循环链表的经典应用:具体描述如下:n 个人围成一个圆圈,首先第 1 个人从 1 开始一个人一个人顺时针报数,报到第 m 个人,令其出列。然后再从下一 个人开始从 1 顺时针报数,报到第 m 个人,再令其出列,…,如此下去,求出列顺序。使用C实现#include<stdio.h>#include<stdlib.h&...原创 2018-09-20 16:29:27 · 258 阅读 · 0 评论 -
数据结构---树,堆排序
1.树是指任意两个结点之间有且只有一条路径的无向图,只要没有回路的联通无向图就是树。2.没有父结点的的结点称为根结点,无子结点的称为叶结点。3.二叉树。a,满二叉树:树中每个内部结点都有左右结点,即所有的叶结点都具有相同的深度。b,完全二叉树:如果树内部的结点有右子结点的话就一定有左子结点,则称为完全二叉树,左子结点的编号为2k,右子结点的编号为2k+1.4.堆:一种特殊的完全...原创 2018-09-02 16:11:08 · 234 阅读 · 0 评论 -
C语言-最短路径
最短路径可以是用广度或深度搜索直接暴力破解(不断的重复比较更新),时间复杂的为(n*n),时间复杂度的降低方面有好几种方法,在这里简要介绍两种算法。主要思想:a顶点到b顶点之间的最短距离可以查找是否有c顶点使距离缩小。参数说明:二维数组e[a][b],存储顶点与边之间的关系,表示a点到b点的距离为e[a][b],inf表示无法直接到达 1.Floyd-Warshall法较好理解...原创 2018-06-24 16:18:16 · 22023 阅读 · 0 评论 -
深度优先搜索及广度优先搜索
一.深度优先搜索。1.主要思想:首先以一个未被访问过的顶点作为起始顶点,沿当前顶点走到未被访问顶点,当没有未被访问顶点时,返回上一个顶点,继续访问别的顶点,直到所有的顶点都被访问过。2:主要通过循环及递归来实现。A:输出数n的全排列#include<stdio.h> //以123->132为例 int a[10],book[10],n;//此处设n为3 void dfs(in...原创 2018-06-04 23:23:37 · 181 阅读 · 0 评论 -
C语言---链表的创建
1.代码如下链表创建有多种方法,这是较好理解的一种尾插法#include<stdio.h> #include<stdlib.h> struct node { int data; struct node *next; }; int main(void) { int n,i,j,k; scanf("%d",...原创 2018-04-10 17:05:21 · 346 阅读 · 0 评论 -
C语言---快速排序
1.以下代码是在书上看到的,加上自己的理解。#include<stdio.h>int a[101];void quictsort(int left,int right){ int i,j,t,temp; if(left>=right)//极为重要,判断退出函数的主要条件 return; i=left; j=right; temp=a[left];//确定最左边...原创 2018-04-09 16:12:59 · 129 阅读 · 0 评论 -
C语言---链表的基本应用
1.链表的插入//插入一个确定得数#include<stdio.h>#include<stdlib.h>struct node{ int data; struct node *next;};int main(void){ int n,i,j,k; scanf("%d",&n); struct node *head,*p,*q,*t; head...原创 2018-04-15 19:05:42 · 498 阅读 · 1 评论 -
链表的基本应用二及总结
学链表也学了有一段时间了,在这里先总结一下1.链表的中头结点相当重要,判断是否有值或为空相当重要,建议头结点一般设置为不赋值2.每次操作一般都是从移动元素的上一个结点来操作,这也是头结点为建议不赋值的原因3.链表的每次指向变化最好还是画图更加清晰易懂删除两条链表重复的数我的思路就是用较长链表遍历较短链表,再创一条链表把不重复的数存储起来。。。#include <stdio.h>...原创 2018-04-27 22:01:19 · 304 阅读 · 2 评论 -
C---队列,栈的实现
栈和队列很早以前就知道有这东西了,兜兜转转也终于走到了这一步,都不难理解,总的来说可以看成//链表头插法和尾插法的变相使用//,但实现起来也有很多要注意的点一:栈(后进先出,只有一个操作点)栈的实现:顺序存储结构和链式存储结构1:顺序栈:使用数组实现#include<stdio.h> //输出为:0,1,2,3,4,5,6,7,8,9#include<stdlib.h>...原创 2018-05-04 20:53:19 · 181 阅读 · 0 评论