算法
文章平均质量分 65
算法学习
青云游子
大数据开发工程师
展开
-
算法通关村第一关挑战——帮鱼皮打印算法学员名单
【代码】算法通关村第一关挑战——帮鱼皮打印算法学员名单。原创 2023-11-22 14:16:20 · 73 阅读 · 0 评论 -
算法通关村第一关——链表白银挑战笔记
这是一道经典的链表问题 : 输入两个无环的,找出它们的第一个公共结点,如果没有公共节点则返回空。屡试不爽的方法: 将和常用算法思想都想一遍,看看哪些能解决问题。常用的数据结构有数组、链表、队、栈、Hash、集合、树、堆。常用的算法思想有查找、排序、双指针、递归、迭代、分治、贪心、回溯和动态规划等等。首先想到的是蛮力法,类似于冒泡排序的方式,将第一个链表中的每一个结点依次与第二个链表的进行比较,当出现相等的结点指针时,即为相交结点。虽然简单,但是时间复杂度高,排除!原创 2023-11-20 16:05:05 · 107 阅读 · 0 评论 -
算法通关村第一关——链表青铜挑战笔记
在给插入的新节点连线时不能先把目标节点的前个节点的指针指向新节点。(2)删除中间节点直接将要删除节点的上一个节点的指针指向删除节点的下一个节点即可。(2)在中间增加元素要注意的问题是 我们必须要遍历到目标节点的前一个节点停下,要先等目标节点的前个节点的指针的指针先连到目标节点才行。(1)删除首部节点直接将head指向旧头部节点改为指向新头部节点即可。(3)删除尾部节点直接将旧尾部节点的上一个节点的指针指向null即可。(3)在尾部增加元素直接将旧尾部节点指向新尾部节点就行了。原创 2023-11-03 08:51:04 · 204 阅读 · 0 评论 -
排序算法-整理
【数据结构】带你玩转排序:堆排序、希尔排序、插入排序、选择排序、冒泡排序、快排(多版本)、归并排序。原创 2023-07-05 13:32:59 · 400 阅读 · 0 评论 -
匹马赛跑,1个赛道,每次5匹进行比赛,无法对每次比赛计时,但知道每次比赛结果的先后顺序,最少赛多少次可以找出前三名?
首先前5轮还是要比的,任选一组的第3名和其他组的第一名进行比赛,如果这组的第三名恰好是这次比赛的第一名,那就意味着这一组对应的前三名就是25匹马中的前三名,这种方法虽然是碰运气,但好像跟题目中的“至少”并不冲突,所以自我感觉面试的时候可以提一嘴。结果上面的分析,我们发现这题有意思的地方就是,第一快的马是单独比赛一次选出来的,而第二快和第三快的马是在同一场比赛中选出来的,找出最少比赛次数的关键所在就是我们要根据实时的比赛结果淘汰掉不可能有排名的马,从而达到压缩马数量的目的,这样可以让比赛的次数少很多。原创 2023-07-04 20:32:24 · 236 阅读 · 0 评论 -
大数据面试题-算法题
在计算机算法理论中,用时间复杂度和空间复杂度来分别从这两方面衡量算法的性能。算法的时间复杂度,是指执行算法所需要的计算工作量。一般来说,计算机算法是问题规模n 的函数fn,算法的时间复杂度也因此记做:Tn= Οfn))。问题的规模n 越大,算法执行的时间的增长率与fn的增长率正相关,称作渐进时间复杂度(Asymptotic Time Complexity)。算法的空间复杂度,是指算法需要消耗的内存空间。有时候做递归调用,还需要考虑调用栈所占用的空间。原创 2023-07-03 19:10:09 · 420 阅读 · 0 评论 -
时间复杂度分为几种
需要注意的是,时间复杂度只考虑算法执行时间与输入规模的关系,并不考虑具体的执行时间。线性对数时间复杂度(O(NlogN)):算法的执行时间介于线性时间复杂度和平方时间复杂度之间。平方时间复杂度(O(N^2)):算法的执行时间随输入规模的增长而呈二次方增长。对数时间复杂度(O(logN)):算法的执行时间随着输入规模的增长而增加,但是增长速率较慢。常数时间复杂度(O(1)):算法的执行时间不随输入规模的增长而变化。指数时间复杂度(O(2^N)):算法的执行时间随输入规模的增长而呈指数级增长。原创 2023-06-05 10:35:58 · 1966 阅读 · 1 评论