
数据结构与算法
数据结构与算法学习总结
benboerdong
跳出舒适圈,做时代的弄潮儿。
The Show Must Go On ...
展开
-
常见算法题整理
算法题:数组、链表、字符串、数学、栈、hash表、图、树、从整体到细节,自顶向下,从抽象到具体的框架思维是通用的,不只是学习数据结构和算法,学习其他任何知识都是高效的。一、数组:二、链表:链表问题一般先定义一个哑结点,将特殊清除处理掉链表反转private Node reverse(Node node) { Node pre = null, cur = node, tem = null; while (cur != null) {原创 2021-05-29 15:55:43 · 3052 阅读 · 0 评论 -
Java学习总结大目录
Java学习总结Java基础JVMMySQLRedisSpringmybatisRabbitMQ数据结构与算法(重点)原创 2021-05-25 14:12:09 · 170 阅读 · 1 评论 -
数据结构之-树
红黑树的特点:红黑树是一种自平衡的二叉查找树,除了符合二叉查找树的基本特征外,它还具有下列的附加特征。1.节点是红色或黑色。2.根节点是黑色。3.每个叶子节点都是黑色的空节点(NIL节点)。4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)5.从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。HashMap使用红黑树的原因:红黑树在保持相对平衡的前提下,保证了插入数据的性能问题。...原创 2021-04-24 14:01:16 · 105 阅读 · 0 评论 -
算法题-树
二叉树树算法的套路:明确一个节点要做的事情。100. 相同的树给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。套路:判断两棵树的相同节点:同空、同值、(否则跳出)递归:同空跳出,一空一有值跳出,均有值(不同跳出)剩下的就开始比较同左右分支了。通过递归去调用。/** * Definition for a binary tree node. * public class TreeNode原创 2021-04-20 00:20:05 · 118 阅读 · 0 评论 -
算法-链表
链表力扣: 876. 链表的中间结点给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 public ListNode middleNode(ListNode head) { //可以先算出一共有多少个元素,再取中间 // 定义快慢两个指针,快指针一次走两步 ,慢指针一次走一步,最后返回慢指针对应的节点,一定是中间节点 ListNode slow=head,fast=head; wh原创 2021-04-19 23:21:00 · 91 阅读 · 0 评论 -
单链表的反转
链表的反转代码:// A->B->C->D// D->C->B->Apackage com.weidd.best.dataStructure.linkedListTest;public class SingleLinkedListTest { static class Node { String data; Node next; public Node(String data) {原创 2021-04-18 18:55:21 · 97 阅读 · 0 评论 -
stack.peek
栈中方法:Stack.Peek获取栈顶值,只是获取不删除。Stack.Pop获取栈顶值,并且弹栈(删除栈顶值)。原创 2021-02-24 19:32:59 · 1026 阅读 · 0 评论 -
数据结构之-数组
数组原创 2021-02-19 21:35:27 · 123 阅读 · 0 评论 -
排序算法之_快速排序
排序算法之-快速排序package com.weidd.best.sort;/** * @program: SortDemo * @author: weidd * @date: 2020-12-19 18:28 **/public class QuickSort1 { public static void main(String[] args) { int[] arr = {4, 5, 1, 8, 0, 10,3, 7, 2, 6, 9}; ...原创 2021-02-19 17:01:58 · 118 阅读 · 0 评论 -
二分查找
1 二分查找 二分查找是一个基础的算法,也是面试中常考的一个知识点。二分查找就是将查找的键和子数组的中间键作比较,如果被查找的键小于中间键,就在左子数组继续查找;如果大于中间键,就在右子数组中查找,否则中间键就是要找的元素。(图片来自《算法-第4版》)/** * 二分查找,找到该值在数组中的下标,否则为-1 */static int binarySerach(int[...转载 2019-03-14 23:19:05 · 149 阅读 · 0 评论