Tenloy's Blog

Tenloy's Blog

你有多自律,就会有多自由

(三) 贪心算法
一、引例 —— 钱币找零问题贪心算法的思想非常简单且算法效率很高,在一些问题的解决上有着明显的优势。 假设有3种硬币,面值分别为1元、5角、1角。这3种硬币各自的数量不限,现在要找给顾客3元6角钱,请问怎样找才能使得找给顾客的硬币数量...
(二) 动态规划算法
一、术语介绍先来说几个动态规划问题中的术语。 动态规划(dynamic programming)是运筹学的一个分支,是求解决策过程最优化的数学方法。20世纪50年代初美国数学家在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,...
(一) 分治算法及减治、变治算法
一、基本思想字面上的解释是“分而治之”,就是将一个规模为N的问题分解为K个规模较小的子问题( 反复分解直到问题小到可直接求解为止),使这些子问题相互独立可分别求解,再将k个子问题的解合并成原问题的解。 这些子问题相互独立且与原问题性...
穷举、递推、迭代(辗转法)、递归算法
一、穷举(枚举、暴力、强力)算法1.1 基本思想在可能的解空间中穷举出每一种可能的解,并对每一个可能解进行判断,从中得到问题的答案。穷举算法效率并不高,但是适应于一些没有明显规律可循的场合。 使用穷举法思想解决实际问题,最关键的步骤是...
数据结构与算法概述
一、数据结构1.1 概述1.1.1 数据结构是什么?对于数据结构这个概念,至今尚未有一个被一致公认的定义,不同的人在使用这个词时所表达的意思有所不同。 “数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系...
前端各种模块化方案总结
一、模块化1.1 什么是模块化那么,到底什么是模块化开发呢? 模块:1、在通信、计算机、数据处理控制系统的电路中,可以组合和更换的硬件单元。2、大型软件系统中的一个具有独立功能的部分。 现实生活中模块化的例子:模块化计算机(cp...
[转] 最通俗的 React Fiber(时间分片)
原文链接 Fiber 不是一个新的东西,来看一下单处理进程调度 一、单处理器进程调度 微软 DOS 是一个单任务操作系统, 也称为’单工操作系统‘。这种操作系统同一个时间只允许运行一个程序。 invalid s在《在没有GUI的时代...
[转] 什么是协程
一、什么是协程协程,又称微线程,纤程。英文名Coroutine。 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C...
[转] 谈谈DSL以及DSL的应用(以CocoaPods 为例)
原文链接:谈谈 DSL 以及 DSL 的应用(以 CocoaPods 为例) 因为 DSL 以及 DSL 的界定本身就是一个比较模糊的概念,所以难免有与他人观点意见相左的地方,如果有不同的意见,我们可以具体讨论。 这次文章的题...
私有Pod库部署
目的:构建自己的一个组件,放在公司的私有pod库中,然后可以通过cocoapod来导入这个pod库。 一、几个概念在构建私有库之前,先了解以下几个基本概念 repo(repository仓库) Pod(代码库)。分为:(Pod译...
[转] iOS的组件化方案
在学习组件化架构的过程中,从很多高质量的博客中学到不少东西,例如蘑菇街李忠、casatwy、bang的博客。在学习过程中也遇到一些问题,在微博和QQ上和一些做iOS的朋友进行了交流,非常感谢这些朋友的帮助。 本篇文章组件化架构漫谈主...
iOS的持续集成
在iOS的开发过程中总是免不了要不停的打包,通常的打包方式是这样的 XCode->Archive->Export,期间还要选择对应的证书与pp文件,进行一次打包会花不少的时间,在打包的过程中我们是不能修改源代码的。 下面有...
常见的容器概念:Linux容器、Docker容器、服务器容器
一、容器1.1 定义汉语释义: 容器(Container)是一种基础工具。泛指任何可以用于容纳其它物品的工具。 容器的特性: 可以部分或完全封闭。— 隔离性 被用于容纳、储存、运输物品。 — 便携性、换到程序的概念就是可移植性 ...
[转] Docker入门教程
原文链接 — 《Docker 入门教程》 2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业。 但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还...
同步和异步解读及编程中的使用场景
一、同步 协调,实现步调一致。两个或几个随时间变化的量,在变化过程中(在时域序列上相对位置)保持一定的相对/约束关系(这个关系分很多种:可以是两者同时做指定的事、也可以是两者先后做指定的事等)。 比如: 音画同步、动作同步等。指某...
ARM64指令简易手册
ARM处理器的指令集可以分为跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令6大指令。 本文只列举一些常见的基本指令,可以正常阅读汇编代码即可。有几个注意点: 寄存器:为标号,不加...
iOS需要了解的ARM64汇编
一、概述1.2 汇编语言早期的程序员发现机器语言在阅读、书写方面的问题,是如此的难以辨别和记忆,需要记住所有抽象的二进制码,为了解决这个问题,汇编语言就产生了。汇编语言是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控...
CLI Shell、Terminal、脚本(语言)
命令行界面已经使用了很久,平时也有很多常用的命令行工具,但是对一些相关的概念(终端、Shell、命令、脚本等)却一直有些似懂非懂,今天记录一下,一是梳理自己的思路,二也是希望能对读到这篇博客的人有所帮助。 命令行界面(CLI)和命令...
指令、系统调用、库、Shell、APP的层次关系
本文主要是梳理机器指令、汇编指令、系统调用(OS Kernel)、语言库、应用程序和OS Shell的层次关系。 一、概述首先看一下软硬件间的关系,如图所示: 二、硬件 — CPU指令集一般指令集专利持有者在设计指令集的时候,往往...
avatar
Tenloy
一个努力自律,希望能自由的 iOS Developer.
按自己的记忆方式结构化记录下学习的知识。空间中有些内容非原创,基本都会注明出处,如有侵犯,烦请联系我删除,谢谢。