随笔- 443  文章- 77  评论- 996  阅读- 105万 
08 2020 档案
数据结构和算法躬行记(2)——栈、队列、散列表和位运算
摘要:一、栈 栈(stack)是一种操作受限的线性表数据结构,基于后进先出(LIFO)策略的集合类型,例如函数中的临时变量符合后进先出的特性,因此用栈保存最合适。 在入栈和出栈过程中所需的空间复杂度是 O(1),时间复杂度也是 O(1)。空间复杂度是指运行算法还需要的额外存储空间。 注意,内存中的堆栈和数 阅读全文
posted @ 2020-08-31 09:25 咖啡机(K.F.J) 阅读(485) 评论(0) 推荐(2) 编辑
数据结构和算法躬行记(1)——链表
摘要:链表(Linked List)是不同于数组的另一种数据结构,它的存储单元(即结点或元素)除了包含任意类型的数据之外,还需要包含指向另一个结点的引用,后文会用术语链接表示对结点的引用。 下面会列出链表与数组的具体不同: (1)数组需要一块连续的内存空间来存储;而链表则恰恰相反,通过指针将零散的内存串联 阅读全文
posted @ 2020-08-25 06:45 咖啡机(K.F.J) 阅读(446) 评论(0) 推荐(1) 编辑
浏览器工作原理和实践(三)——页面
摘要:《浏览器工作原理与实践》是极客时间上的一个浏览器学习系列,在学习之后特在此做记录和总结。 一、事件循环 消息队列是一种数据结构,可以存放要执行的任务。它符合队列“先进先出”的特点,也就是说要添加任务的话,添加到队列的尾部;要取出任务的话,从队列头部去取。 从上图可以看出,改造可以分为下面三个步骤: 阅读全文
posted @ 2020-08-16 14:10 咖啡机(K.F.J) 阅读(844) 评论(0) 推荐(1) 编辑
浏览器工作原理和实践(二)——JavaScript
摘要:《浏览器工作原理与实践》是极客时间上的一个浏览器学习系列,在学习之后特在此做记录和总结。 一、执行流程 实际上变量和函数声明在代码里的位置是不会改变的,而且是在编译阶段被 JavaScript 引擎放入内存中。 一段 JavaScript 代码在执行之前需要被 JavaScript 引擎编译,编译完 阅读全文
posted @ 2020-08-15 15:25 咖啡机(K.F.J) 阅读(456) 评论(0) 推荐(0) 编辑
浏览器工作原理和实践(一)——浏览器
摘要:《浏览器工作原理与实践》是极客时间上的一个浏览器学习系列,在学习之后特在此做记录和总结。 一、Chrome架构 1)线程和进程 Chrome打开一个页面会启动4个进程:网络进程、GPU进程、浏览器主进程和渲染进程。 一个进程就是一个程序的运行实例,启动一个程序的时候,操作系统会为该程序创建一块内存, 阅读全文
posted @ 2020-08-14 16:20 咖啡机(K.F.J) 阅读(1073) 评论(0) 推荐(1) 编辑
Web优化躬行记(4)——用户体验和工具
摘要:一、用户体验 用户体验(UE/UX)是指一个人使用一个特定产品、系统或服务时的行为、情绪与态度,还包含用户对于系统的功能、易用和效率的感受,因此用户体验在本质上可以视为一个人对于系统的主观感受与主观想法。 用户体验是动态的,由于不断变化的使用情况、不停变化的各个系统,以及变化发生背后的情境与脉络,因 阅读全文
posted @ 2020-08-11 07:35 咖啡机(K.F.J) 阅读(466) 评论(0) 推荐(1) 编辑
Web优化躬行记(3)——图像和网络
摘要:一、图像 1)响应式图像 浏览器根据屏幕大小、设备像素比、横竖屏自动加载合适的图像。 响应式的功能可以通过srcset和sizes两个新属性实现。 前者可指定选择的图像以及其大小,后者会定义一组媒体条件并声明填充的宽度。 在下面的示例中(在线查看效果),浏览器会先查看设备宽度,然后检查sizes列表 阅读全文
posted @ 2020-08-03 08:35 咖啡机(K.F.J) 阅读(402) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示