算法
文章平均质量分 77
心安成长
对计算机工程和数据分析感兴趣的码农一枚,愿与大家分享科技那点事儿,算法分享,题目解读。让我们一起畅游AI浪潮。
展开
-
了解面试必会算法Sliding Window 模式的前世今生
大家好,今天我们来聊一聊sliding window pattern。又是给有个机会给班花讲题的好机会,不能错过!Sliding Window Pattern,中文名字叫滑动窗口模式,是一种常见的算法思想。原创 2024-01-23 22:36:08 · 377 阅读 · 0 评论 -
递归算法,你真的理解了吗?
大家好,我是心安成长。今天我们来聊一聊递归算法。是一种将问题分解为更小的规模,然后递归调用自身来解决子问题的算法。递归算法可以解决一些循环无法解决的问题,例如问题等。原创 2024-01-15 11:29:12 · 399 阅读 · 0 评论 -
面试里必须搞懂的冒泡排序
目录简介步骤冒泡排序第一种方法冒泡排序第二种方法冒泡排序第三种方法简介冒泡排序(Bubble Sort),是排序算法里面比较简单的一个排序。它重复地走访要排序的数列,一次比较两个数据元素,如果顺序不对则进行交换,并一直重复这样的走访操作,直到没有要交换的数据元素为止。步骤设置数组长度为N,比较相邻的前后两个数据,如果前面数据大于后面的数据,就将两个数据交换这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。N = N - 1, 如果N不为0就重复前原创 2020-09-19 06:54:29 · 124 阅读 · 0 评论 -
面试里必须搞懂的二分算法
目录二分查找概述基本思想二分算法写法复杂度二分查找概述二分查找是一种算法,其输入是一个有序的元素列表。wiki的讲法是在计算机科学中,二进制搜索,也称为半间隔搜索,对数搜索,或二进制印章,是一种搜索算法,用于查找排序数组中目标值的位置。二进制搜索将目标值与数组的中间元素进行比较。基本思想当数据量很大适宜采用该方法。采用二分法查找时,数据需是排好序的假设数据是按升序排序的,对于给定值key,从序列的中间位置mid开始比较:如果当前位置arr[mid]值等于key,则查找成功;若key原创 2020-09-14 05:48:18 · 165 阅读 · 0 评论 -
秒懂剑指offer 树专题--易
目录题目1: 二叉树的镜像树问题的解决办法例子实现代码方法一(递归)方法二(非递归)题目2:二叉树的深度实现代码方法一:后序遍历(DFS)方法二:层序遍历(BFS)参考题目1: 二叉树的镜像树问题的解决办法树的遍历方式可以分为两类:深度优先搜索(Depth-First-Search)、广度优先搜索(Broad-First-Search);常见的 DFS : 先序遍历、中序遍历、后序遍历;常见的 BFS : 层序遍历(即按层遍历)。求树的深度需要遍历树的所有节点,本文将介绍基于 后序遍历(DFS)原创 2020-08-29 07:26:58 · 119 阅读 · 0 评论 -
数组类 189 Rotate Array详解
目录189 Rotate Array问题描述算法分析与实现解法一:暴力解法方法二:使用额外的Array方法三:使用反转189 Rotate Array问题描述Given an array, rotate the array to the right by k steps, where k is non-negative.Follow up:Try to come up as many solutions as you can, there are at least 3 different way原创 2020-08-24 16:50:37 · 184 阅读 · 2 评论 -
Java基础算法实现(快速排序算法)
快速排序算法算法概念实现快速排序实现步骤实现图解快速排序伪代码Java实现代码参考算法概念快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-原创 2020-08-17 14:28:49 · 829 阅读 · 0 评论