
数据结构与算法
文章平均质量分 75
Corline
这个作者很懒,什么都没留下…
展开
-
并查集结构
将两个元素所在集合合并以及判断两个元素是否属于同一个集合。并查集就是一个用于解决这类问题的一种数据结构。原创 2022-10-05 22:21:39 · 563 阅读 · 1 评论 -
LeetCode 买卖股票的最佳时机(上)
LeetCode 121 买卖股票的最佳时机给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例:输入 :[7,1,5,3,6,4] 输出:5 解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最原创 2021-10-10 20:26:12 · 123 阅读 · 0 评论 -
数组元素去重
问题:去除数组中重复的元素。输入:2, 7, 3, 7, 2, 9, 9, 3输出:2, 7, 3, 9思路:1、利用数组准备一个额外空间的数组A,遍历输入数组中的元素,每个元素都去数组A中遍历,A中存在则不管,不存在就将该元素放入数组A。2、利用ADT利用语言自身所带的红黑底层结构的容器,如Java的TreeSet以及TreeMap,C++的unordered_set,se...原创 2019-11-28 21:05:03 · 863 阅读 · 0 评论 -
递归实例求数组元素最大值
在用递归求解问题的时候,边界条件重要,子过程的划分一样重要,子过程反映了求解问题思路。将数组求最大值的问题划分子过程,采用左右划分。即将一个数组左右 「切成」两半,求取左侧最大值及右侧最大值,再二者之间返回最大值即可,其中左侧与右侧再按此划分,直到不能再划,即「当前半边」只有一个数组元素了。例子实现 C++ 代码:#ifndef _MY_ALGORITHM_#define _MY_...原创 2019-06-06 13:59:52 · 1135 阅读 · 0 评论 -
排序算法之选择排序
在初级排序算法中,冒泡和插入排序已经不被实际工程所采用了。而选择排序还是会有地方用的。选择排序,插入排序像整理扑克牌一样,牌一张张的来,每来一张,就要将它插入手里之前已经整理好的牌中。我们假定数组有 n 个元素。下标索引为 i。i 从 1 到 n - 1。假定数组 array 元素为:1, 4, 3, 90, 1, 2, 3我们采用升序,第一轮:i 的值取 1,array[i] = 4...原创 2019-04-16 19:25:02 · 254 阅读 · 0 评论 -
排序算法之选择排序与冒泡排序
冒泡排序 对于给定的一个数组, 欲将其升序排列。 下标 i 从后往前走,每次把 i 及其之前『最大』的元素『沉』到 i 位置。 第一次 遍历数组 0 到 n-1 位置, 将最大的一个元素捡出来, 与第 n - 1 位置元素交换, 第二次 遍历数组 0 到 n-2 位置, 与 n - 2 位置元素交换, 第三次... 直到把整个数组排完。class Sort{public:...原创 2018-05-10 22:50:22 · 205 阅读 · 0 评论 -
支持最小值的栈设计
实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作。原创 2017-12-22 13:30:06 · 237 阅读 · 0 评论 -
DynamicList动态顺序存储结构
DynamicList动态顺序存储结构设计与实现原创 2017-12-20 22:39:48 · 1008 阅读 · 0 评论 -
线性表的顺序存储操作
顺序存储表的定义:线性表的顺序存储结构指的是用一段地址连续的存储单元一次存储线性表中的数据元素。顺序存储结构线性表的设计:可以选择用一维数组来数显顺序存储结构--存储空间:T* array;--当前长度:int m_length;【代码示例】#ifndef SEQLIST_H#define SEQLIST_H#include "List.h"namesp原创 2017-11-17 22:31:11 · 217 阅读 · 0 评论 -
线性表性质与操作
线性表(List)的表现形式:--零个或多个数据元素组成的集合--数据元素在位置排列上是有序的--数据元素的个数是有限的--数据类型必须相同线性表(List)的抽象定义:--线性表是具有相同类型的n(n >= 0)个数据元素的有限集合。--(a0, a1, a2, ... an-1)--其中ai是表项, n是线性表长度。线性表(List)的性质:原创 2017-11-01 23:41:03 · 533 阅读 · 0 评论