Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
设计模式(四) —— 观察者模式/发布订阅模式,c和c++示例代码
往期地址 设计模式 一 简单工厂模式 设计模式 二 策略模式 设计模式 三 装饰模式 本期主题 使用c和c 代码 讲解观察者模式 发布订阅模式 发布 订阅模式 1 什么是发布 订阅模式 2 实例 2 1 场景 2 2 代码设计 2 3 代码
算法与数据结构
从0开撸C
Linux
设计模式
实现 strStr() 函数
实现 strStr 函数 给定一个 haystack 字符串和一个 needle 字符串 在 haystack 字符串中找出 needle 字符串出现的第一个位置 从0开始 如果不存在 则返回 1 示例 1 输入 haystack hell
算法与数据结构
二叉查找树(BST)的基本概念及常用操作
二叉查找树 二叉查找树 Binary Search Tree 也称二叉搜索树 有序二叉树 ordered binary tree 排序二叉树 orted binary tree 是指一棵空树或者具有下列性质的二叉树 若任意节点的左子树不空
算法与数据结构
二叉查找树
二叉树
二分搜索
【数据结构】Trie 字典树
数据结构源码 实现类 import java util TreeMap public class Trie private class Node public boolean isWord public TreeMap
数据结构
算法与数据结构
数据结构
字典树
树
算法:2-3平衡树与B树的详细探讨
2 3树是最简单的B树 B 树是B树的升级 B树的来源 为什么要有树 描述 1 多 N M 层次等关系 从最根本的原因来看 使用树结构是为了提升整体的效率 插入 删除 查找 索引 尤其是索引操作 因为相比于链表 一个平衡树的索引时间复杂度是
算法与数据结构
算法
B树
数据结构
【Leetcode】225. 用队列实现栈
题目描述 请你仅使用两个队列实现一个后入先出 LIFO 的栈 并支持普通栈的全部四种操作 push top pop 和 empty 实现 MyStack 类 void push int x 将元素 x 压入栈顶 int pop 移除并返回栈
Leetcode
算法与数据结构
LeetCode
数据结构
Java
剖析高性能队列Disruptor背后的数据结构和算法
本文是学习算法的笔记 数据结构与算法之美 极客时间的课程 Disruptor 是一种内存消息队列 它经Java 中另外一个非常常用的内存消息队列 ArrayBlockQueue ABS 的性能 要高出一个数量级 可以算得上是最快的内存消息队
算法与数据结构
Disruptor
生产者
消费者
力扣刷题-面试题 17.13. 恢复空格、字典树、前缀树的应用
基本概念 Trie 树 又称单词查找树 前缀树 是一种树形结构 典型应用是用于统计 排序和保存大量的字符串 但不仅限于字符串 它的优点是 利用字符串的公共前缀来减少查询时间 最大限度地减少无谓的字符串比较 比哈希表更快 基本性质 根节点不包
算法与数据结构
力扣刷题
字典树
LeetCode
c
算法训练day43
文章目录 1049 最后一块石头的重量 II 求最大重量 思路分析 代码实现 494 目标和 求组合方法数 思路分析 动规方法 代码实现 总结思考 474 一和零 求二维背包的最大物品数 思路分析 代码实现 思考总结 1049 最后一块石头
算法与数据结构
算法
动态规划
c
LeetCode
【Leetcode】111. 二叉树的最小深度
题目描述 题解 递归遍历 记录深度 然后贪心地去更新结果 取min 考虑到这里还不够 需要加一层叶节点的判断 必须当前节点是叶子结点才能够做res的更新 否则可能会碰到这种情况 根结点左边没有子树 根结点右边有子树 结果递归下去发现深度是1
Leetcode
算法与数据结构
LeetCode
算法
数据结构
【Leetcode】154. 寻找旋转排序数组中的最小值 II
题目描述 已知一个长度为 n 的数组 预先按照升序排列 经由 1 到 n 次 旋转 后 得到输入数组 例如 原数组 nums 0 1 4 4 5 6 7 在变化后可能得到 若旋转 4 次 则可以得到 4 5 6 7 0 1 4 若旋转 7
Leetcode
算法与数据结构
LeetCode
算法
Java
【java实现二叉树的各种遍历方式】
二叉树的各种遍历方式 通过递归方式 可实现二叉树的层级遍历 先序 中序 后序等遍历方式 package com ykq import java util ArrayList import java util List author ykq
算法与数据结构
Java
二叉树
遍历
0-1背包
文章作者 Yx Ac 文章来源 勇幸 Thinking http www ahathinking com 转载请注明 谢谢合作 四月份还没写 不能这么荒废了呀 赶紧水一篇吧 哈哈 前些日子回顾了DP的一些基础 就做一下整理吧 从0 1背包开
算法与数据结构
数据结构与算法
【数据结构】Map 映射
数据结构源码 接口 public interface Map
算法与数据结构
数据结构
数据结构
散列表
map
链表与约瑟夫环 - JavaScript版
前言 在很多编程语言中 数组需要预先给定一个长度 添加新的元素很难 而且添加 删除等操作也比较烦 需要循环操作 JavaScript提供了push 和splice 等函数来解决这类问题 注意 在js中数组是对象 Object js没有内置链
算法与数据结构
链表
javascript
数据结构
常见的排序算法及其复杂度分析
1 常见算法分类 十种常见排序算法一般分为以下几种 非线性时间比较类排序 交换类排序 快速排序和冒泡排序 插入类排序 简单插入排序和希尔排序 选择类排序 简单选择排序和堆排序 归并排序 二路归并排序和多路归并排序 线性时间非比较类排序 计数
算法与数据结构
数据结构
算法
排序算法
为什么说快速排序是性能最好的排序算法?
刚刚学习了排序这一章 看到了书中最后的一个总结表 心想从表上来看 堆排序不该是最好的排序算法么 不管最好 最坏还是平均情况 时间复杂度都是O nlogn 而且还不像快排和归并排序那样占空间 为什么说快速排序是最好的算法呢 其实经过实验 会发
算法与数据结构
vscode——debugger
提示 本文适用于vscode编译java代码调试初学者 文章目录 debugger图标介绍 左侧工具栏 调试代码 debugger图标介绍 在进行调试之前我们应先在代码前打断点 调试程序时 代码就会运行至断点位置然后停下 断点即为行数前小红
笔记
算法与数据结构
Java
Debug
【Leetcode】863. 二叉树中所有距离为 K 的结点
题目描述 题解 用map记录每个结点的父结点 然后让dfs从target结点开始 假设target就是根结点 然后递归时纪录深度 只要深度等于k 就是和target的距离等于k 就可以存入list 执行用时 14 ms 在所有 Java 提
Leetcode
算法与数据结构
LeetCode
Java
算法
LeetCode-剑指 Offer II 114. 外星文字典,BFS 搜索算法及图的表示
剑指 Offer II 114 外星文字典 现有一种使用英语字母的外星文语言 这门语言的字母顺序与英语顺序不同 给定一个字符串列表 words 作为这门语言的词典 words 中的字符串已经 按这门新语言的字母顺序进行了排序 请你根据该词典
力扣刷题
广度优先搜索
算法与数据结构
LeetCode
图论
«
1
2
3
4
5
6
7
»