前端工程师不但要保证完成界面的规划与开发,并且同时需要保证代码的质量,其中Javscript的运行速度则变得非常重要,此篇文章从工程师的角度入手,结合了开发者工具进行分析, 总结了一些常用的优化手段和法则. 分析执行时间…
分类:算法
四年努力,梦归阿里,和大家聊聊成长感悟
文章来自:五月的仓颉。是一位非常优秀,乐于分享的大神,目前就职阿里 原文链接:https://www.cnblogs.com/xrq730/p/9159586.html 前言 阿里面试成功已经过去一个月了,入…
算法 - 二叉树的10种遍历方法,你都会了么?( 二 )
在上一篇文章(二叉树的遍历( 一 ))中,我们通过思考函数入栈出栈的过程,理解了递归遍历二叉树的原理,下面我们来理解非递归的写法。 在递归遍历中,我们发现,程序首先把根节点的左’子孙’依次入栈,所…
归并与快排——1.如何选择合适的排序算法
原创文章,转载请注明出处 1. 排序算法简介 提起排序算法,相信大家并不陌生。最常见也是最基础的有:插入排序,选择排序,冒泡排序。这三种排序的平均复杂度都是,实现起来简单,在小规模排序中有大量的应用。其中插入排序由于其是…
lintcode151 Regular Expression Matching
Regular Expression Matching 题目是要求写出包含 ‘.’ ‘*’和英文字母的正则表达式匹配方案 lintcode把这题放在DFS下面,做的我头都大…
计数排序vs基数排序vs桶排序
从计数排序说起 计数排序是一种非基于元素比较的排序算法,而是将待排序数组元素转化为计数数组的索引值,从而间接使待排序数组具有顺序性。 计数排序的实现一般有两种形式:基于辅助数组和基于桶排序。 基于辅助数组 整个过程包含三…
【校招】互联网技术面试LeetCode刷题指南
从19年秋招的情况来看,互联网公司对于技术序列的朋友要求越来越高,尤其是在代码能力上,越来越多的公司开始在面试中考察LeetCode的easy、medium题型,对于优秀的同学还会考察到hard级别。 也曾经有段子说,程…
线性结构的应用-队列
定义 队列和栈一样,也是一种操作受限的线性表 只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作 进行插入操作的端称为队尾,进行删除操作的端称为队头 特性 先进先出(FIFO—first i…
九种排序算法的可视化及比较
排序是工作和生活中非常常见的一个问题。现在已经有比较成熟的排序技术,被广泛地应用于各种程序语言或数据库中。不同的排序算法有不同的性能和适用场景,下面的视频对比了 9 种排序算法的性能表现。排序算法依次为选择排序、希尔排序…
翻译 | 像 JavaScript 一样思考
原文链接: https://davidwalsh.name/thinking-javascript 几天前我在一个专题讨论会讲 JavaScript,午饭时候一个学员跑来向我请教一个 JS 难题,而它确实把我给难住了。他…
刚刚,吴恩达讲了干货满满的一节全新AI课,全程手写板书
夏乙 编译整理量子位 出品 | 公众号 QbitAI 给吴恩达三块白板和一支马克笔,听他讲一节精彩的课。 刚刚,在O’reilly举办的AI Conference上,吴恩达做了个25分钟的演讲,主题依然是“AI is t…
Leetcode - Sliding Window Maximum
My code: public class Solution { public int[] maxSlidingWindow(int[] nums, int k) { if (nums == null || nums.l…