算法
算法
HYTZZ
你才懒
展开
-
算法
数组删除排序数组中的重复项删除排序数组中的重复项 II移除元素移动零数组中重复的数字旋转数组螺旋矩阵两数之和三数之和四数之和较小的三数之和最接近的三数之和合并两个有序数组寻找旋转排序数组中的最小值寻找旋转排序数组中的最小值 II除自身以外数组的乘积...原创 2021-05-10 13:01:53 · 31 阅读 · 0 评论 -
数据结构与算法
数据结构数据对象在计算机中的组织方式逻辑结构物理存储结构数据对象必定与一系列加在其上的操作相关联完成这些操作所用的方法就是算法抽象数据类型(Abstract Data Type)数据类型 (抽象—封装)数据对象集数据集合相关联的操作集抽象:描述数据类型的方法不依赖于具体实现与存放数据的机器无关与数据存储的物理结构无关与实现操作的算法和编程语言均无关...原创 2021-05-02 17:38:25 · 42 阅读 · 0 评论 -
线性表
线性表List MakeEmpty():初始化一个空的线性表ElementType FindKth(int k,List L):根据位序列K,返回相应元素int FInd(ElementType X, List L): 在线性表L中查找X的第一次出现的位置void Insert(ElementType X, int i,List L):在位序i前插入一个新的元素Xint Length(List L):返回线性表L的长度实现方式数组连续性可以随机访问稀疏数据—克服数组的缺点链表原创 2021-05-02 09:54:18 · 46 阅读 · 0 评论 -
五毒神掌
职业顶尖选手1.分解—构建知识树、知识模型2.刻意练习3.有效反馈切题四件套1.理解题目的意思2.思考所有的可能解法3.分析每种解法的思路4.补充测试用例五毒神掌第一遍看题目(10~15分钟),如果不会直接看解法,记忆第二遍默写程序、调试(先在头脑里面调试,实在不行再在编译器里调试)第三遍隔一天再写一遍程序,思考那里写错了第四遍一周后再写一遍,思考和其他的知识模型的关联第五遍面试前写一遍...原创 2021-04-24 20:14:30 · 224 阅读 · 0 评论 -
归并排序
归并排序思考给定两个已经排序的数组,如何将两个数组合并成一个数组function merge(arr1,arr2){ const temp= []; let i = 0; let j = 0; let tempSize = 0; while(i < arr1.length && j < arr2.length){ if(arr1[i] <= arr2[j]){ temp.push(arr1[原创 2021-04-21 20:10:06 · 36 阅读 · 0 评论 -
冒泡排序
BubleSort复杂度分析第一个for循环执行了length次第二个for循环执行了length - i次两个fore循环执行了length*(length-i)次,当length无限大复杂度是O(length^2)思考使用两个指针 j 和 j+1,因为要交换两个元素,所以需要两个指针分别指向需要交换的元素两个指针可以表示一定的范围,或者快慢两个每一轮外层循环,都把最大的一个元素放到最后的位置(内层for不停的交换(即暂存最大值)两个相邻的元素),模型相当于把本轮的最大值从原创 2021-04-16 10:54:09 · 70 阅读 · 0 评论