
数据结构与算法
文章平均质量分 90
以数据结构书籍为基准,进行的读记、总结、扩展
刀客123
简介
展开
-
数据结构与算法再探(七)查找-排序
二分查找时区间的左右端取开区间还是闭区间在绝大多数时候都可以,二分查找中的左闭右开和左闭右闭的本质区别主要体现在搜索范围的定义和边界处理上。这种选择会影响算法的实现细节、边界条件的处理以及最终的查找结果。原创 2025-02-23 22:12:46 · 889 阅读 · 0 评论 -
数据结构与算法再探(六)动态规划
动态规划是一种强大的方法,可以解决很多最优化问题。其核心思想是将问题拆解为子问题,通过记忆化或迭代的方式避免重复计算,从而提高效率。在C++中,动态规划的实现通常涉及状态定义、状态转移方程的推导以及最终解的计算。通过具体的算法问题(如背包问题、最长公共子序列、爬楼梯问题等)来理解和应用动态规划,可以帮助解决复杂的优化问题。原创 2025-01-23 16:27:40 · 1280 阅读 · 0 评论 -
数据结构与算法再探(五)贪心-双指针-滑动窗口
贪心算法是一种常用的算法设计策略,旨在通过局部最优选择来构建全局最优解。它的基本思想是:在每一步选择中,都选择当前看起来最优的选项,而不考虑后续的影响。贪心算法通常用于解决最优化问题,尤其是在某些特定条件下能够得到全局最优解的问题。原创 2025-01-17 15:22:19 · 822 阅读 · 0 评论 -
数据结构与算法再探(一)数组、链表
是一种线性数据结构,由一组相同类型的元素组成,数组的内存开销较小,存储元素时没有额外的指针开销,元素在内存中是连续存储的,可以通过下标在 O(1) 时间内访问任意元素。数组的大小在创建时确定,不能动态改变;无法动态调整,可能导致内存浪费或不足。而且插入和删除效率低:在数组中插入或删除元素需要移动大量元素,时间复杂度为 O(n)。原创 2025-01-14 14:59:59 · 683 阅读 · 0 评论 -
数据结构与算法再探(二)高精度计算
无符号数运算结果超出范围,产生进位标志CF。:有符号数运算结果超出范围,产生溢出标志OF。原创 2024-08-28 20:43:53 · 818 阅读 · 0 评论 -
数据结构与算法再探(四)树
通过调用自身来解决问题,将原问题分解为一个或多个规模较小的相似子问题,在函数体内调用自身来解决问题。递归算法需要定义基本情况(边界条件),以防止无限递归。原创 2024-12-22 21:17:01 · 289 阅读 · 0 评论 -
数据结构与算法再探(三)串
字符串可以看作是字符组成的数组,字符串的常见操作有很多,搜索、匹配。原创 2024-12-22 10:23:46 · 442 阅读 · 0 评论 -
数据结构与算法再探(二)栈与队列的应用
priority_queue是C++标准库中的一个容器适配器,用于实现优先队列的数据结构。优先队列是一种特殊的队列,其中的元素按照一定的优先级进行排序,每次取出的元素都是优先级最高的。它提供常数时间的(默认)最大元素查找,对数代价的插入与提取。类是一种容器适配器,它给予程序员栈的功能,特别是 FILO(先进后出)数据结构。输入给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。栈是操作受限的线性表,典型生活中的用例:压入子弹。,std::queue也是一种。原创 2024-08-07 10:28:20 · 711 阅读 · 0 评论 -
数据结构-哈希
哈希表哈希表也叫散列表,是根据关键码值(Key Value)而直接进行访问的数据结构,它通过把关键码值映射到哈希表中的一个位置来访问记录,以加快查找的速度。这个映射函数就做散列函数,存放记录的数组叫做散列表。哈希表的存储是以数据中每个元素的关键字K为自变量,通过散列函数H(k)计算出函数值,以该函数值作为一块连续存储空间的的单元地址,将该元素存储到函数值对应的单元中。哈希表的存储数据冲突是原创 2017-08-29 15:20:36 · 1242 阅读 · 1 评论 -
数据结构读记总结(一)概述、线性表、栈、队列
数据结构整体的思维导图,上传的xmind版:http://www.xmind.net/m/xCKr。如下图片格式,可能不是很清晰。数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。原创 2017-01-12 16:48:25 · 893 阅读 · 1 评论 -
数据结构读记(二)-串、树
五、串串:定义是由零个或者多个字符组成的有限序列又叫字符串。串长,字符串中字符个数。空格串只含有空格,空串不含有任何字符。串的比较是比较对应位置上字符大小。串的存储结构:顺序存储和链式存储(数组)。链式存储链式线性表。字符串基本操作package day01to05;public class stringoper { public static void met...原创 2017-02-18 21:52:09 · 450 阅读 · 1 评论 -
数据结构读记(三)-图、查找及实现
第8章、查找1、基本概念(1)查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素或记录。(2)查找表:同一类型数据元素构成的集合。(3)关键字:是数据元素中某个数据项的值,用它可以标识一个数据元素。关键码:关键字所标识的数据元素的某个数据项。主关键字唯一标识一个数据元素;主关键码,主关键字所在的数据项。次次关键字,不唯一标识,次关键码,次关键字所在的数据项。(4)静态查找表原创 2017-02-21 13:09:03 · 603 阅读 · 1 评论 -
数据结构-排序算法总结
第九章、排序1、排序:是使得一个序列成为按关键字有序的序列的操作。排序稳定性:排序过程中排序前顺序和排序中不变是稳定排序。内排序和外排序:指待排序所有记录是否在内存中操作。外排序是排序记录态度要在内外存之间多次交换。(内排序:插入、交换、选择和归并)2、冒泡排序:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比原创 2017-02-21 14:03:12 · 406 阅读 · 1 评论