
数据结构和算法
猪猪加大码力
What doesn't kill you makes you stronger.
展开
-
C++ 快排算法
C++快排算法原创 2024-05-30 21:21:07 · 244 阅读 · 0 评论 -
C++有序数组的二分查找
题目描述 请实现有重复数字的有序数组的二分查找。 输出在数组中第一个大于等于查找值的位置,如果数组中不存在这样的数,则输出数组长度加一。 示例1 输入 5,4,[1,2,4,4,5] 返回值 3 说明 输出位置从1开始计算 class Solution { public: /** * 二分查找 * @param n int整型 数组长度 * @param v int整型 查找值 * @param a int整型vector 有序数组 * @return int整型 */ int uppe原创 2021-01-06 21:31:16 · 940 阅读 · 0 评论 -
C++环形链表
今天在牛客上做题,遇到两次环形链表,晚上回来小结一下。 题目描述 对于一个给定的链表,返回环的入口节点,如果没有环,返回null 快慢指针法 想象一下,有两个速度不同的跑步者。如果他们在直路上行驶,快跑者将首先到达目的地。但是,如果它们在圆形跑道上跑步,那么快跑者如果继续跑步就会追上慢跑者。 这正是我们在链表中使用两个速度不同的指针时会遇到的情况: A.如果没有环,快指针将停在链表的末尾。 B.如果有环,快指针最终将与慢指针相遇。 Q:这两个指针的适当速度应该是多少? 一个安全的选择是每次移动慢指针一原创 2021-01-06 21:21:26 · 828 阅读 · 1 评论 -
二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例1 输入 7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]] 返回值 true class Solution { public: bool Find(int target, vector<vector<int> > array原创 2021-01-04 19:43:28 · 137 阅读 · 0 评论 -
C++二分查找
今天在牛客上做题,遇到二分查找的问题,特地来复习复习。 二分查找的算法思想很简单,就不多赘述,直接上代码。 二分查找,找到返回目标下标,未找到返回-1 #include <iostream> #include <vector> #include <time.h> #include <algorithm> using namespace std; void InitData(vector<int>& arr); void ShowDat原创 2021-01-04 19:39:16 · 256 阅读 · 0 评论 -
一起来学习C++数组栈和链表栈的模板实现
一、概念。 1、栈(Stack)是线性存储的数据结构。 2、栈的数据元素遵守"先进后出"(First In Last Out)原则,简称FILO。 3、只能在栈顶进行插入和删除操作。 4、栈顶(top):允许元素插入与删除的一端称为栈顶。 5、栈底(bottom):另一端称为栈底。 6、压栈(push):栈的插入操作,也称压栈、入栈。 7、出栈(pop):栈的删除操作。 二、基本操作。 1、pus...原创 2019-12-16 22:42:20 · 297 阅读 · 0 评论 -
C++实现单链表
1、引言。 对于链表这种基本数据结构,我们再熟悉不过了。今天,来复习下单链表的实现。 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。-- 百度百科 2、实例。 2.1 定义节点: //定义节点 st...原创 2019-12-12 21:05:07 · 685 阅读 · 3 评论 -
复杂度分析之大O表示法。
1、概要。 好的程序设计表现出程序执行速度快,占用内存空间小的优点,分别对应时间复杂度和空间复杂度。 2、复杂度分类两种。 算法的时间复杂度是指算法需要消耗的时间资源。算法执行时间的增长率与f(n) 的增长率正相关,称作渐近时间复杂度(Asymptotic Time Complexity),简称时间复杂度。定义为T(n) = O(f(n)),称函数T(n)以f(n)为界或者称T(n)受限于f(n)...原创 2019-09-17 16:03:05 · 969 阅读 · 0 评论