算法
文章平均质量分 91
杀神lwz
是日已过,命亦随减;如少水鱼,斯有何乐;当勤精进,如救头燃;但念无常,慎勿放逸;
展开
-
编程题(二)
研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数 n ,返回不同的解决方案的数量。n = 42如上图所示,4 皇后问题存在两个不同的解法。n = 11给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2所使用的最少操作数。3horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')5。原创 2023-02-21 23:29:59 · 105 阅读 · 0 评论 -
数据结构和算法(五)--线性表
是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。若A元素在B元素的前面,则称A为B的前驱元素。若B元素在A元素的后面,则称B为A的后继元素。数据元素之间具有一种"一对一"的逻辑关系。1.第一个数据元素没有前驱,这个数据元素被称为头节点。2.最后一个数据元素没有后继,这个数据元素被称为尾节点。3.除了第一个和最后一个数据元素外,其他数据元素有且仅有一个前驱和一个后驱。线性表中的数据可以是顺序存储,也可以是链式存储,按照数据的存储方式不同,可以把线性表分为和。原创 2022-12-19 20:24:10 · 332 阅读 · 10 评论 -
数据结构和算法(四)--高级排序
冒泡排序,选择排序,插入排序,最坏的时间复杂度都是O(N^2),而平方阶,随着输入规模的增大,时间成本急剧上升,所以这些基本排序方法不能处理大规模的问题,接下来来学习一些高级的排序算法,争取降低算法的时间复杂度最高阶次幂。2.1、希尔排序希尔排序是插入排序的一种,又称"缩小增量排序",是插入排序算法的一种更高效的改进版本。插入排序的时候,有一个很不好的事,如果已排序的分组元素为{2,5,7,9,10},未排序的分组元素为{1,8},那么下一个待插入元素为1,我们需要拿着1从后往前,依次和10,9,原创 2022-12-18 23:16:37 · 535 阅读 · 0 评论 -
数据结构和算法(三)--排序
在程序中,排序是非常常见的一种需求。原创 2022-11-08 10:14:10 · 126 阅读 · 0 评论 -
数据结构和算法(二)--算法分析
在进行算法分析时,语句总的执行次数T(n)是关于问题规律n的函数,进而分析T(n)随着n的变化情况并确定T(n)的量级。算法的时间复杂度,就是算法的时间量度,记作:T(n)=O(f(n))。它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称时间复杂度,其中f(n)是问题规模n的某个函数。原创 2022-11-01 23:51:47 · 323 阅读 · 0 评论 -
数据结构和算法(一)
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。数据结构就是把数据元素按照一定的关系组织起来的,用来数据。原创 2022-10-30 21:12:24 · 121 阅读 · 0 评论