数据结构和算法
文章平均质量分 55
UUUUTaossienUUUU
积跬步,至千里
展开
-
leetcode:641. 设计循环双端队列
设计循环双端队列原创 2023-12-18 08:25:36 · 464 阅读 · 0 评论 -
leetcode:622. 设计循环队列
设计循环队列原创 2023-12-17 19:56:57 · 639 阅读 · 0 评论 -
leetcode:457. 环形数组是否存在循环
环形数组是否存在循环原创 2023-12-17 19:08:34 · 616 阅读 · 0 评论 -
leetcode:468. 验证IP地址
验证IP地址原创 2023-12-03 21:36:05 · 508 阅读 · 0 评论 -
leetcode:93. 复原 IP 地址
复原IP地址原创 2023-12-03 21:30:28 · 580 阅读 · 0 评论 -
leetcode:210. 课程表 II
现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] = [ai, bi] ,表示在选修课程 ai 前 必须 先选修 bi 。原创 2023-10-15 11:00:58 · 247 阅读 · 0 评论 -
leetcode:207. 课程表
先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi。解释:总共有 2 门课程。并且学习课程 0 之前,你还应先完成课程 1。输入:numCourses = 2, prerequisites = [[1,0],[0,1]]输入:numCourses = 2, prerequisites = [[1,0]]例如,先修课程对 [0, 1] 表示:想要学习课程 0 ,你需要先完成课程 1。原创 2023-10-15 10:56:16 · 145 阅读 · 0 评论 -
leetcode:4.寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。原创 2023-10-15 10:44:03 · 174 阅读 · 0 评论 -
C++语言-外部排序算法-二路归并排序
二路归并排序原创 2023-04-22 12:59:50 · 304 阅读 · 0 评论 -
C++语言-内部排序算法-堆排序
堆排序原创 2023-04-21 17:36:43 · 126 阅读 · 0 评论 -
C++语言-内部排序算法-冒泡排序
冒泡排序原创 2023-04-21 07:58:18 · 93 阅读 · 0 评论 -
C++语言-内部排序算法-快速排序
快速排序原创 2023-04-21 07:50:45 · 98 阅读 · 0 评论 -
剑指offer:递归(回溯)
递归(回溯)原创 2023-04-15 22:11:27 · 386 阅读 · 0 评论 -
剑指offer:字符串
字符串原创 2023-03-31 20:31:12 · 268 阅读 · 0 评论 -
剑指offer:哈希
哈希原创 2023-03-31 12:20:30 · 416 阅读 · 0 评论 -
手写字符串处理函数
手写字符串处理函数原创 2023-03-28 16:38:54 · 248 阅读 · 0 评论 -
剑指offer:其他算法
其他算法原创 2023-03-26 20:15:16 · 609 阅读 · 0 评论 -
剑指offer:位运算
位运算原创 2023-03-26 10:48:19 · 488 阅读 · 0 评论 -
剑指offer:动态规划
动态规划原创 2023-03-25 21:35:37 · 784 阅读 · 0 评论 -
剑指offer:搜索
搜索原创 2023-03-25 16:58:15 · 539 阅读 · 0 评论 -
剑指offer:栈和队列
栈和队列原创 2023-03-25 09:39:46 · 493 阅读 · 0 评论 -
剑指offer:二叉树
二叉树原创 2023-03-25 07:47:16 · 423 阅读 · 0 评论 -
剑指offer:二分查找和排序
剑指offer:二分查找和排序原创 2023-03-22 23:00:45 · 349 阅读 · 0 评论 -
二叉树遍历
二叉树遍历原创 2023-03-06 08:50:28 · 280 阅读 · 0 评论 -
剑指offer:单链表
单链表原创 2023-03-06 07:55:44 · 392 阅读 · 0 评论 -
C语言-内部排序算法
#include <stdio.h>//直接插入排序void InsertSort(int a[], int n){ int i, j; int temp; for(i = 1; i <= n-1; ++i) { temp = a[i]; for(j = i-1; j >= 0 && a[j] > temp; --j) { ...原创 2016-01-05 13:38:15 · 538 阅读 · 1 评论 -
顺序表基本操作
#include<windows.h>//源代码已经在VS2012编译通过#include<stdio.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define MaxSize 50typedef int Status;typedef int ElemType;原创 2016-01-05 13:14:50 · 514 阅读 · 0 评论 -
汉诺塔问题及其变型
一.汉诺塔问题(1)问题描述:有三个柱子A、B、C,A柱子上有n个圆盘,圆盘的大小不等,大圆盘的在下,小圆盘的在上。将A柱子上的圆盘全部移动到C柱子上。每次只能移动一个圆盘,而且在移动的过程中,三个柱子上的圆盘始终保持大圆盘在下,小圆盘在上。(2)程序输入:A柱子上的圆盘数,当输入0时,程序结束。 (3)程序输出:圆盘移动的过程和圆盘移动的总次数。(4)递推公式原创 2016-02-25 22:22:22 · 1579 阅读 · 0 评论 -
N个字符串全排列
//VS2010编译通过//输入n个字符串,每个字符串各不相同,输出这n个字符串的全排列(n原创 2016-05-08 16:23:16 · 1294 阅读 · 1 评论 -
Manacher马拉车算法求最长回文子串
这个算法用于查找一个字符串的最长回文子串马拉车算法依次给数组p[i]赋值,马拉车算法的本质就是在每次给数组p[i] 赋值时尝试进行偷懒。原创 2017-02-25 22:00:26 · 967 阅读 · 1 评论 -
顺序查找、二分查找、寻找峰值
顺序查找、二分查找、寻找峰值基本思路: 从第一个元素arr[0]开始逐个与需要查找的元素target进行比较,如果等于需要查找的元素x,返回元素arr[i]的下标i,否则从下一个元素继续比较。如果查找到最后都没有找到,则返回-1。 该算法的时间复杂度为O(n)。(二)折半查找 基本思路: 折半查找有一个前提条件:数组必须递增有序。 取中间位置的元素arr[mid]与需要查找的元素target进...原创 2018-04-19 14:54:46 · 2015 阅读 · 1 评论 -
KMP算法C++实现
//参考资料 //https://segmentfault.com/a/1190000004254889//https://www.cnblogs.com/c-cloud/p/3224788.html#include &amp;amp;lt;windows.h&amp;amp;gt;#include &amp;amp;lt;iostream&amp;amp;gt;#include &amp;amp;lt;vector&原创 2018-05-22 10:02:09 · 445 阅读 · 0 评论 -
单链表基本操作
#include//源代码已经在VS2012编译通过#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int Status;typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;}L原创 2016-01-05 13:25:40 · 909 阅读 · 0 评论