随笔分类 - 算法缪谈
摘要:1. 概述 动态规划算法应用非常之广泛。 对于算法学习者而言,不跨过动态规划这道门,不算真正了解算法。 初接触动态规划者,理解其思想精髓会存在一定的难度,本文将通过一个案例,抽丝剥茧般和大家聊聊动态规划。 动态规划算法有 3 个重要的概念: 重叠子问题。 最优子结构。 状态转移。 只有吃透这 3 个
阅读全文
摘要:1. 前言 数据结构和算法是程序的 2 大基础结构,如果说数据是程序的汽油,算法则就是程序的发动机。 什么是数据结构? 指数据在计算机中的存储方式,数据的存储方式会影响到获取数据的便利性。 现实生活中,如果把春夏秋冬的衣物全部堆放在一起,当需要某一季节的衣服时,寻找起来是困难的。 如果分门别类、有条
阅读全文
摘要:1. 前言 微信小程序开发平台,提供有一类 API,可以让开发者获取到微信登录用户的个人数据。这类 API 统称为开放接口。 Tip:微信小程序开发平台,会把微信登录用户的个人信息分为明文数据和敏感数据。 明文数据也称为公开数据,开发者可以直接获取到,如登录者的昵称、头像…… 敏感数据如电话号码、唯
阅读全文
摘要:1. 前言 哈希表或称为散列表,是一种常见的、使用频率非常高的数据存储方案。 哈希表属于抽象数据结构,需要开发者按哈希表数据结构的存储要求进行 API 定制,对于大部分高级语言而言,都会提供已经实现好的、可直接使用的 API,如 JAVA 中有 MAP 集合、C++ 中的 MAP 容器,Python
阅读全文
摘要:什么是树表查询? 借助具有特殊性质的树数据结构进行关键字查找。 本文所涉及到的特殊结构性质的树包括: 二叉排序树。 平衡二叉树。 使用上述树结构存储数据时,因其本身对结点之间的关系以及顺序有特殊要求,也得益于这种限制,在查询某一个结点时会带来性能上的优势和操作上的方便。 树表查询属于动态查找算法。
阅读全文
摘要:查找算法是用来检索序列数据(群体)中是否存在给定的数据(关键字),常用查找算法有: 线性查找: 线性查找也称为顺序查找,用于在无序数列中查找。 二分查找: 二分查找也称为折半查找,其算法用于有序数列。 插值查找: 插值查找是对二分查找算法的改进。 分块查找: 又称为索引顺序查找,它是线性查找的改进版
阅读全文
摘要:1. 前言 本文将介绍希尔排序、归并排序、基数排序(桶排序)。 在所有的排序算法中,冒泡、插入、选择属于相类似的排序算法,这类算法的共同点:通过不停地比较,再使用交换逻辑重新确定数据的位置。 希尔、归并、快速排序算法也可归为同一类,它们的共同点都是建立在分治思想之上。把大问题分拆成小问题,解决所有小
阅读全文
摘要:本届冬奥运会开幕式上,节目中的高科技含量十足,但受大家一直追捧和津津乐道的节目一定是“孩子和和平鸽”。 因职业习惯,观看节目时,脑子里会思索孩子脚下如影相随的雪花是怎么实现的? 其难点在于孩子存在于真实世界,雪花存在于虚拟世界(电脑的世界,或数字化世界)。真实世界的孩子在跑动,虚拟世界的雪花能跟踪到
阅读全文
摘要:
这几天看了几本与算法相关的书籍,有了写篇文章的想法,觉得编码归根结底就是一门问问题的艺术。 计算机的思维和人类的思维 很多年以前,看到能使用电脑玩游戏、播放视频 、音乐……感觉神奇的很。后来学习编程后,在编写程序时,才发现编码就是一个不停发送询问指令的过程。还发现没有 if 语法几乎是寸步难行。原来
阅读全文
