数据结构和算法
文章平均质量分 92
学习数据结构和算法的技术分享
逍遥Sean
web网站、游戏程序、安卓应用程序、微软桌面程序、微信小程序、微信小游戏、web小游戏。写有趣的代码
展开
-
数据结构与算法-线性表(下)链式存储结构(Java实例)
线性表是一种数据结构,对数据元素进行逻辑上的顺序排列。线性表链式存储结构是指用链表来存储线性表的数据元素。链表由节点组成,每个节点包含两部分:数据域和指针域。数据域存储节点的数据元素,指针域存储指向下一个节点的指针。链式存储结构相对于顺序存储结构的优点是可以更方便地进行插入和删除操作,通过修改节点的指针即可完成操作,而不需要移动大量数据。但是链式存储结构的缺点是访问节点需要通过指针进行跳转,相对于顺序存储结构,访问速度会慢一些。此外,链式存储结构需要额外的空间存储指针信息,会占用更多的内存空间。原创 2023-09-24 13:12:38 · 299 阅读 · 0 评论 -
算法解析-最大最小值(分治思想)&冒泡排序
分治思想是一种算法设计技术,其核心思想是将一个大问题分解成许多小问题,然后分别解决这些小问题,最后将这些小问题的解合并成大问题的解。其基本步骤可以分为三步:分解原问题:将原问题分解成若干个规模较小、相互独立、与原问题形式相同的子问题。求解子问题:用递归的方式求解子问题。如果子问题的规模足够小,则直接求解,否则继续分解子问题,递归求解。合并问题解:将子问题的解合并成原问题的解。分治思想常用于解决数值计算问题、图像处理等领域,也是许多算法的基础,如快速排序、归并排序等。原创 2021-07-07 10:16:21 · 344 阅读 · 0 评论 -
算法解析-排序算法之冒泡排序
算法是一组解决问题的步骤和规则,可以帮助我们在计算机程序中完成各种任务。好的算法可以优化程序的性能,提高程序的效率,并使程序更易于理解和维护。算法也是计算机科学中一种非常基础的概念,对于计算机科学专业的学生来说,学好算法将为他们日后的学习和工作奠定非常重要的基础。严格来说不是标准的冒泡排序算法,因为不满足它“两两比较相邻记录”的冒泡排序思想,它更应该是最简单的交换排序而已。冒泡排序是一种交换排序,他的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。👆上面的话是别人说的。原创 2020-09-05 22:40:51 · 632 阅读 · 0 评论 -
数据结构与算法-算法基础
算法基础1 算法与数据结构的关系2 两种算法比较3 算法概念3.1 定义3.2 算法特性4 算法设计要求5 算法效率度量方式5.1 事后统计方法5.2 事前分析估算方法1 算法与数据结构的关系只谈数据结构,固然可以,但在很短时间里学习完几种重要的数据结构,并不会完全掌握。但是如果把相应的算法也学一学,就会发现,算法使很多看似很难解决或者没法解决的问题,变得如此美妙和神奇。2 两种算法比较int i,sum=0,n=100;for(i=1;i<=n;i++){ sum=sum+1;}pr原创 2020-05-27 22:32:33 · 401 阅读 · 1 评论 -
数据结构与算法-数据结构绪论
“你数据结构怎么学的?”1 基本概念及术语1.1 数据描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据不仅包括整型、实型等数值型号,还包括字符及声音、图像、视频等非数值类型。1.2 数据元素是组成数据的、有一定意义的基本单位、在计算机中通常作为整体处理。也被称为记录。例:数据:人类,则数据元素:人数据:畜类,则数据元素:牛、马、羊等1.3 数据项一个数据元素可以由若干个数据项组成。例:数据元素:人,则数据项:鼻子、眼睛、手等从另一原创 2020-05-27 14:42:18 · 289 阅读 · 0 评论 -
数据结构与算法学习方法
阅读是一件主动的事,阅读越主动,效果越好。要想获得更多,可能也需要付出类似写作一样的力气去阅读。例如:摘抄文字、眉批心得、稿纸演算、代码验证,以及在工作学习中的实际运用等。这些相应的活动能使我们得到巨大的收获!### 2.改造代码将书中的代码(C语言)改造成自己熟悉的语言(比如Java、Python)就是一种较好的学习方式。改造代码的方法包括以下几个步骤:1. 了解代码:了解代码的结构、功能和技术实现。2. 设定目标:确定需要对代码进行的改造目标。3. 制定计划:制定改造计划和实现方案,包括所需原创 2020-05-27 13:43:36 · 393 阅读 · 0 评论 -
数据结构与算法-线性表(上)
线性表是一种线性结构,由同一类型的数据元素构成一个有序序列。线性表中的数据元素称为元素,每个元素都有一个唯一的前驱元素和后继元素,除第一个元素外,其他元素都有一个前驱元素;除了最后一个元素,其他元素都有一个后继元素。线性表常用的实现方式有数组和链表。常见的线性表包括数组、链表、栈、队列等。线性表的应用广泛,例如在数据结构中保存序列、在数据库中保存表格数据等。## 2 线性表的抽象数据类型线性表是一种抽象数据类型,它由一组相同数据类型的元素组成,数据元素之间的关系是一对一的关系。线性表具有以下特点:>原创 2020-06-06 11:04:58 · 147 阅读 · 0 评论 -
数据结构与算法-线性表(下)链式存储结构
线性表是一种数据结构,对数据元素进行逻辑上的顺序排列。线性表链式存储结构是指用链表来存储线性表的数据元素。链表由节点组成,每个节点包含两部分:数据域和指针域。数据域存储节点的数据元素,指针域存储指向下一个节点的指针。链式存储结构相对于顺序存储结构的优点是可以更方便地进行插入和删除操作,通过修改节点的指针即可完成操作,而不需要移动大量数据。但是链式存储结构的缺点是访问节点需要通过指针进行跳转,相对于顺序存储结构,访问速度会慢一些。此外,链式存储结构需要额外的空间存储指针信息,会占用更多的内存空间。链式原创 2020-06-06 11:11:13 · 159 阅读 · 0 评论 -
数据结构和算法学习之路
这篇文章讲了什么?我这些年学习数据结构和算法的总结。一些不错的算法书籍和教程。算法的重要性。初学第一次接触数据结构是在大二下学期的数据结构课程。然而这门课程并没有让我入门——当时自己正忙于倒卖各种MP3和耳机,对于这些课程根本就不屑一顾——反正最后考试划个重点也能过,于是这门整个计算机专业本科最重要的课程就被傻逼的我直接忽略过去了。直到大三我才反应过来以后还要找工作——而且大二的折腾证明了我并没有什么商业才能,以后还是得靠码代码混饭吃,我当时惊恐的发现自己对编程序几乎一无所知,于是我给自己制转载 2020-05-28 11:39:18 · 38 阅读 · 0 评论