语言编程compsci语言210

【编程算法】【寻路】【A*优化 - Theta*】

http://theory.stanford.edu/~amitp/GameProgramming/MapRepresentations.html#path-smoothing http://aigamedev.com/open/tutorials/theta-star-any-angle-path ......
算法 Theta

【编程算法】【寻路】【A*优化 - 跳点搜索】

跳点搜索算法JPS及其优化 - 腾讯云开发者社区-腾讯云 (tencent.com) Rectangular Symmetry Reduction | Shortest Path (wordpress.com) Map representations (stanford.edu) https://a ......
算法

【编程算法】【寻路】【A*优化 - 终身规划A*(LPA*)】

aij04.pdf (cmu.edu) (32条消息) LPA* 路径搜索算法介绍_肚皮朝上的刺猬的博客-CSDN博客 ......
算法 终身 LPA

【编程算法】【寻路】【A*优化 - 动态加权】

h(p) 越大则倾向于贪心算法 h(p) 越小则倾向于 广度优先级算法 社会工程学 启发式和成本函数 速度和准确度之间的权衡 对于大多数的游戏,你不真正需要的最好的两个点之间的路径。 你需要一些接近的东西。你需要什么可能取决于游戏中发生了什么,或者计算机的速度有多快。例如,我们在靠近某些位置时,需要 ......
算法 动态

【编程算法】【寻路】【A*优化 - 双向搜索】

两个并行搜索 在某些情况下,这是一个好主意。 双向搜索背后的想法是搜索结果在地图上扇出的“树”。一棵大树比两棵小树要糟糕得多,所以最好有两棵小树。 https://arxiv.org/pdf/1703.03868.pdf https://repub.eur.nl/pub/16100/ei2009-1 ......
双向 算法

【编程算法】【寻路】【A*优化 - 动态问题】

计算初始路径之后改变世界,使用A *,路径可能会因地图的更改而失效 ......
算法 动态 问题

【编程算法】【寻路】【A*优化 - 动态A*(D*)】

D*路径规划算法及python实现 - 知乎 (zhihu.com) ......
算法 动态

idea工具-Java语言-tomcat服务使用

1.IDEA工具 使用Ultimate版本,下载 IntelliJ IDEA 2.下载tomcat 不需要安装,解压到任意位置,下载 官网 3.打开idea创建Java项目 3.1右键选择Add Frameworks Support勾选Web Application 3.2如图依次点击选择tomca ......
语言 工具 tomcat idea Java

Linux & 标准C语言学习 <DAY17> *完结

一、文件 1、文件的分类 1.文本文件 是人能看得懂的文件,存储的是字符符号的ASCII码的二进制 //存储'2''5''5'的二进制,显示255 2.二进制文件 存储的是数据的补码二进制 //存储255:1111 1111 2、文件IO FILE *fopen(const char *path, ......
语言学习 语言 标准 Linux DAY

c语言学习-指针

指针变量 指针变量是存放地址的变量 指针变量需要区分类型,跨度不一样 int *p // 这里*是标识符,告诉系统这是一个指针变量,用来保存地址 printf("%d\n", *p) // 这里*是取值运算符,把内存地址p里的数据取出来 数组的首地址就是数组首个元素的地址 数组名就是数组的首地址 i ......
语言学习 指针 语言

c语言学习-字符串和结构体

字符串 是数组,结尾多一个"\0",是字符串的结束标志 char ch[] = "helo"; char *pchar = "helo"; sizeof和strlen区别 char cdaat[128] = "hello"; sizeof(cdaat);// 128 strlen(cdaat);// ......
语言学习 字符串 字符 语言 结构

go语言的并发

并发编程在当前软件领域是一个非常重要的概念,随着CPU等硬件的发展,我们无一例外的想让我们的程序运行的快一点、再快一点。Go语言在语言层面天生支持并发,充分利用现代CPU的多核优势,这也是Go语言能够大范围流行的一个很重要的原因。 基本概念 首先我们先来了解几个与并发编程相关的基本概念。 串行、并发 ......
语言

流式编程

创建流 // Stream.of() Stream.of("hello ", "world").forEach(System.out::print); // 集合调用stream()方法创建流 List<Integer> list = Arrays.asList(1, 2, 3); int sum ......

理解结对编程

结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。 在结对编程中,观察员同时考虑工作的战略性方向,提出改进 ......

英语打字练习软件-c语言编写

学习c语言的时候编写的英语打字练习软件,已经上传github 自取 https://github.com/lzl12123/typing-software 软件实际效果如下 在下载的压缩包里,运行exe文件就可使用,源码为ConsoleApplication1这个文件 ......
语言 软件

0316-0322面向对象编程

0316-0322面向对象编程 1.面向过程、对象概念 # python中两大范式:1.面向过程 2.面向对象 '''两者都不是新的技术,而是做事的思维方式''' # 面向过程的核心是过程:即按先后次序来做,也就是机械式的思维方式,如把大象放冰箱步骤 优点:复杂问题简单化,进而流程化 | 缺点:扩展 ......
对象 0316 0322

为什么Redis不直接使用C语言的字符串?看完直接吊打面试官!

众所周知Redis有以下几种常见的数据类型 String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Sorted set(有序集合)、Stream(流)、Geo(地理空间索引)、Bitmap(位图)、HyperLogLog(基数统计)等。 我们最常用的就是String(字符串)... ......
字符串 字符 语言 Redis

【编程算法】【寻路】【A*优化 - 束搜索】

束搜索的好处,就在于,他可以通过剪枝减少搜索的节点,减少时间和空间的消耗但是劣势就是不一定得到最佳路径,如果把他的光束收缩到最小,就是贪心算法 1. 在存储有限的情况下进行类似的宽度优先的图搜索算法 2. 在搜索空间很大的情况下对图搜索进行存储限制的重要性 ......
算法

【编程算法】【寻路】【A*优化 - 迭代加深A*(IDA*)】

限定下限的深度优先搜索 由于不再采用动态规划的方法,节省内存 最大的优点:找到最短路径情况下,需要最小内存 但是是时间换空间,不会记得走过一条路 IDA-Star(IDA*) Algorithm in general « Insight into programming algorithms (wo ......
算法 IDA

C语言:指针易错

#include <stdio.h> main() { char a[]="hellofg",*p=a; printf("%c\n",*p+5) ;//*p得到指针指的字符,+5是字符ASCII码加5 ,结果为m printf("%c\n",*(p+5)) ;//h:p+0 e:p+1....f:p ......
指针 语言

Go 语言:如何利用好 TDD 学习指针并了解 Golang 中的 error 处理

我们在上一节中学习了结构体(structs),👉Go语言:利用 TDD 驱动开发测试 学习结构体、方法和接口 它可以组合与一个概念相关的一系列值。 你有时可能想用结构体来管理状态,通过将方法暴露给用户的方式,让他们在你可控的范围内修改状态。 金融科技行业都喜欢 Go 和比特币吧?那就来看看我们能创 ......
指针 语言 Golang error TDD

Python——开始编程前的准备(二)

1. 测试领域,python能做什么? web(UI)自动化测试 接口自动化测试 测试工具开发 测试平台开发 2. 测试领域以外,python能做什么 人工智能算法开发 大数据 数据分析 网站开发 游戏开发 爬虫开发 3. python还有什么其他的优点 跨平台 免费开源 面向对象 强扩展性 扩展库 ......
Python

Linux扩展篇-shell编程(四)-shell条件判断

shell条件判断 ......
shell 条件 Linux

Tars-Java网络编程源码分析

作者:vivo 互联网服务器团队- Jin Kai 本文从Java NIO网络编程的基础知识讲到了Tars框架使用NIO进行网络编程的源码分析。 一、Tars框架基本介绍 Tars是腾讯开源的支持多语言的高性能RPC框架,起源于腾讯内部2008年至今一直使用的统一应用框架TAF(Total Appl ......
网络编程 Tars-Java 源码 网络 Tars

Go语言 :使用简单的 for 迭代语句进行 TDD 驱动测试开发与 benchmark 基准测试

前提准备与运行环境请参考:(新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4 在 Go 中 for 用来循环和迭代, Go 语言没有 while,do,until 这几个关键字,我们只能使用 for。这也算是件好事! 让我们来为一个重复字符 ......
基准 语句 benchmark 语言 for

C语言 ini 文件读写【Iniparser库】

一、概述 iniparser是针对INI文件的解析器。ini文件则是一些系统或者软件的配置文件。iniparser库的API可以对ini文件(配置文件)进行解析、设置、删除等操作。 常见的 ini 读写开源库有:minIni、inifile、iniparser 二、使用 下载 Github:http ......
Iniparser 语言 文件 ini

深入理解Go语言中的sync.Cond

1. 简介 本文将介绍 Go 语言中的 sync.Cond 并发原语,包括 sync.Cond的基本使用方法、实现原理、使用注意事项以及常见的使用使用场景。能够更好地理解和应用 Cond 来实现 goroutine 之间的同步。 2. 基本使用 2.1 定义 sync.Cond是Go语言标准库中的一 ......
语言 sync Cond

自己动手从零写桌面操作系统GrapeOS系列教程——20.汇编语言读硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。 本讲我们设计一个简单的读硬盘实验。通过一定的方法使硬盘第二个扇区的前3个字节依次为1、2、3,最后3个字节依次为3、2、1,中间的506个字节全为0。然后通过读硬盘程序将硬盘第二个扇区的数据读取到内存0x7e00-0x7fff的地方,也就是内存 ......
实战 桌面 硬盘 GrapeOS 语言

自己动手从零写桌面操作系统GrapeOS系列教程——21.汇编语言写硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们学习了用汇编语言读硬盘,本讲我们来学习用汇编语言写硬盘。同样也是设计一个简单的实验,实验内容为: 在内存中准备一段有特征的512字节数据,地址为0x7e00~0x7fff,其特征是前3个字节依次为4、5、6,最后3个字节依次为6、 ......
实战 桌面 硬盘 GrapeOS 语言

学习ASP.NET Core Blazor编程系列三十——JWT登录(4)

JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。今天的文章使用API接口来实现使用JWT登出功能。 ......
Blazor Core ASP NET JWT