
数据结构与算法
文章平均质量分 76
开始数据结构和算法的学习啦,结合B站韩顺平老师的课程。
WYSCODER
一只努力学编程的菜鸟
展开
-
二叉排序树(Java版)
二叉排序树原创 2022-08-09 22:02:12 · 1481 阅读 · 0 评论 -
二叉树(Java版)
二叉树,看这一篇就够了~~~原创 2022-08-04 11:33:43 · 3187 阅读 · 1 评论 -
哈希表(Java实现)
哈希表(Java实现)原创 2022-02-04 15:29:12 · 7732 阅读 · 4 评论 -
青蛙跳台阶
青蛙跳台阶问题原创 2022-01-23 23:40:17 · 490 阅读 · 2 评论 -
Java排序算法(七)堆排序
Java排序算法(七)堆排序原创 2022-01-10 23:08:19 · 392 阅读 · 0 评论 -
Java排序算法(六)快速排序
Java排序算法(六)快速排序原创 2022-01-10 22:48:19 · 218 阅读 · 0 评论 -
Java排序算法(五)归并排序
Java 排序算法(五)归并排序原创 2022-01-10 22:42:03 · 535 阅读 · 0 评论 -
Java排序算法(四)希尔排序
Java排序算法(四)希尔排序原创 2022-01-10 22:35:52 · 363 阅读 · 0 评论 -
Java排序算法(三)插入排序
Java排序算法(三)插入排序原创 2022-01-10 22:27:18 · 298 阅读 · 0 评论 -
Java排序算法(二)选择排序
Java排序算法(二)选择排序原创 2022-01-10 22:19:36 · 369 阅读 · 0 评论 -
Java排序算法(一)冒泡排序
Java排序算法(一)冒泡排序原创 2022-01-10 22:14:47 · 607 阅读 · 0 评论 -
排序算法全家桶(Java实现)
在室友打LOL的功夫,我用Java实现了排序算法。原创 2022-01-05 22:31:10 · 954 阅读 · 0 评论 -
Java 队列以及循环队列
队列以及循环队列原创 2021-12-09 11:28:03 · 842 阅读 · 0 评论 -
Java 输出链表中倒数第k个结点
文章目录输出链表中倒数第k个结点问题描述方法一方法描述动画演示代码如下方法二方法描述动画演示代码如下输出链表中倒数第k个结点问题描述给你一个单链表,输出倒数第k个结点,如下图链表中,输出倒数第k个结点,比如 k = 2,输出5这个结点。方法一方法描述输出倒数第k个结点就是输出整数第len - k + 1个结点,len为链表的长度。动画演示代码如下/** * Definition for singly-linked list. * public class Node { *原创 2021-12-08 20:48:45 · 1470 阅读 · 4 评论 -
Java 判断两个链表是否相交
文章目录问题描述方法一方法描述动画演示代码如下时间复杂度方法二方法描述动画演示代码如下时间复杂度问题描述判断两个链表是否相交,如果两个链表相交,两个链表有相同的结点,如图所示:方法一方法描述最简单粗暴地方法可以设置两个变量分别遍历两个链表,双重for循环,在循环遍历过程中,如果两个变量相等,那么两个链表相交。动画演示代码如下/** * Definition for singly-linked list. * public class Node { * int val; *原创 2021-12-08 19:26:57 · 1232 阅读 · 2 评论 -
Java 单链表在O(1)时间复杂度下删除一个指定结点
文章目录单链表在O(1)时间复杂度下删除一个指定结点描述图示代码单链表在O(1)时间复杂度下删除一个指定结点描述以前在单链表中我们删除一个结点,需要我们定义一个指针p来遍历整个链表,找到待删结点的前一个结点,使当前节点的next域指向待删结点的下一个结点,完成删除指定结点。如下图:我们考虑一下这样的时间复杂度是多少呢?需要遍历整个链表,所以平均时间复杂度为O(n)。那么怎么才能在O(1)时间复杂度下删除一个指定结点呢?我们可以把当前节点的value值改为下一个结点,然后使当前节点的next域指向下原创 2021-12-07 09:33:35 · 543 阅读 · 0 评论 -
Java 合并两个有序的链表
Java实现合并两个有序的链表原创 2021-12-07 00:15:11 · 754 阅读 · 0 评论 -
Java 判断单链表是否有环如果有环找到入口点
判断单链表是否有环如果有环找到环的入口点原创 2021-12-05 22:13:25 · 687 阅读 · 0 评论 -
Java 反转单链表
文章目录反转单链表1.描述2.方法一思路分析图示代码3.方法二思路分析图示代码4.方法3思路分析图示代码反转单链表1.描述给你单链表的头指针head ,请你反转链表,并返回反转后的链表。如下:2.方法一思路分析1)创建一个新的头指针newHead。2)创建一个结点p遍历反转前的链表,每遍历一个结点,把newHead指向当前结点。同时创建一个结点cur,用来保存p的下一个结点,以此来保证p遍历整个反转前的链表。3)最后原来头指针head,指向新的链表。图示代码/** * Defi原创 2021-12-05 17:07:04 · 1391 阅读 · 0 评论 -
单链表3(数据结构)
在单链表1(数据结构)中完成了对单链表的基本操作,单链表2(数据结构)中通过添加尾指针tail对单链表1进行了优化,可是我们有没有发现,无论是单链表1还是单链表2只能对结点数据域为整型的进行操作。如果要对结点数据域为其它数据类型的结点进行操作,要去改结点中value的数据类型,所以我们不如直接定义成泛型,又因为Node类只为SingleLink类使用,所以索性将Node类定义成SingleLink类的内部类(内部类在Java内部类博客中有介绍)。废话不多说,直接上原码!!!List接口public i原创 2021-11-28 23:26:06 · 520 阅读 · 2 评论 -
单链表2(数据结构)
在单链表1(数据结构)博客中我们完成了对单链表的基本操作,链表头部添加操作,链表尾部添加操作,链表头部删除操作,链表尾部删除操作,删除特定结点操作,查找特定结点操作。我们是通过定义一个头指针进行操作的,在今天的单链表2中,改进对单链表的操作,同时再定义一个尾指针完成对单链表的基本操作。...原创 2021-11-27 23:03:52 · 814 阅读 · 1 评论 -
单链表1(数据结构)
文章目录单链表1.链表的定义2.链表操作2.1定义一个结点2.2 定义一个链表2.3 链表头部添加操作2.4链表尾部添加操作2.5链表头部删除操作2.6链表尾部删除操作2.7删除特定结点操作2.8查找特定结点操作2.9打印链表结点value值操作3.源码4.运行结果演示单链表1.链表的定义线性表的链式存储结构:线性表中数据元素(结点)在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理位置上不一定相邻。相关术语:结点:数据元素的存储映像。由数据域和指针域两部分组成。数据域:存储数据元素信息的原创 2021-11-26 21:48:10 · 1080 阅读 · 0 评论