分类 算法与数据结构 下的文章

身份证校验算法

验证原理 我国的18位公民身份号码是特征组合是由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。 第1、2位表示省级行政区。第1位数字是以前的大区制代码。第2位是大区所在省市编码。全国共分为8个大区:华北(1)、东北(2)、华东(3)、中南(4)、西南(5)、西北(6)、台湾(7)和港澳(8)。 第3、4位表示地级...

继续阅读 »

数据结构与算法: 常用数据结构的应用场景

数据结构主要研究什么? 数据结构(英语:data structure)是计算机中存储、组织数据的方式。 数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合。它包含三方面的内容,逻辑关系、存储关系及操作。 逻辑结构和物理结构 数据的逻辑结构 指反映数据元素之间的相互关系,而与他们在计算机中的存储位置无关。按相互关系分类:集合结构,线性结构,树形结构 数...

继续阅读 »

游戏中自动寻路算法: A*、NavMesh、WayPoint

注意: 这里可以查看https://github.com/qiao/PathFinding.js各种寻路算法,并查看其在线演示. A*(基础算法) 优点 简单,易于实现 对地图编辑器友好 特定方格的消耗/可通行性易于修改,当然重新加权的方格太多也会影响速度 从游戏地图位置容易映射到方格位置,坐标除以每个网格的边长即可 缺点 对于大型地图,方格属于内存密集型 通常需要对所得的路径进行路...

继续阅读 »

编程语言中高级特性:集合

注意:同样以java为例说明 为什么说集合非常重要 集合可以说是学习 Java 中最重要的一块知识点了,无论做任何业务系统,集合总是最为基础的那块API。 在实际项目中,我们可以发现集合无处不在,因为凡是涉及到数据存储相关的问题都离不开集合,合理的使用集合可以极大的提高存储和检索的效率。集合也是很多数据结构的基础。 集合与集合框架 集合 集合是 Java 提供的一种存储对象的容器,同数组一样...

继续阅读 »