技术
-
一种无递归、无栈、无parent指针的红黑树实现
前言 红黑树是一种复杂的平衡树,在大部分情况下都会使用父指针或者递归实现。假如我们一定要三无实现呢? 本文必须配合OI-Wiki食用!! 基础结构 #define BLK_COLOR 0 #define RED_COLOR 1 #define LEFT 0 #define RIGHT 1 #define Color(node) (node==NULL?BLK_COLO…… -
一种基于维护高度的无递归、无栈、无parent指针的AVL树实现方式
感谢XLH同学指出blog中的一些错误,本文已于2024/9/28更新 引入 AVL树有种种实现方式,其中最自然的是采用递归的写法,毕竟AVL树是递归定义的。但是,有的老师认为“递归时间常数大”,觉得应该用迭代。但是,还有老师认为迭代要用栈,“栈空间大(指占用了 O(\log n) )…… -
Building a Clear Programming Language for Newcomers
This is a joke Introduction Many new programmers are often confused about a very important concept in programming: the variable lifespan. For example, one could not understand why the variable "a" is "not defined" when it's clearly there: int x=3; …… -
Displaying Attachment PDF with Frontend Javascript
背景 笔者最近在参加某校在线平台前端的开发,收到了这样的要求: 将服务器传输过来的文件尽可能(图片/PDF)在网页中就显示下来,这样就不用下载了! 笔者劈里啪啦敲下了如下代码(由于渲染问题,美元符号已替换为人民币符号!!!): var xhr = new XMLHttpReq…… -
2024年春《高级程序设计》期末考试题回忆
笔者第一次考试破防,故记录题目如下,希冀后人能够免除高程的烦恼 概念解释(20pt) 数据抽象与封装和过程抽象与封装的区别是什么? C++中代码复用的例子? 虚函数是什么?有什么作用?有什么缺点? C++中创建对象的方式有哪些?他们有什么区别? 改错和读程序…… -
高程复习
高程复习 C++与C的关系 C++包含了C的所有成分 添加了: 更好的支持过程式编程,提高与类型相关的安全性 支持面向对象 支持泛型 带参数的宏定义的缺点: 需要加上很多括号 会出现重复计算 (e.g. ```max(x+1,y*2)```) 不进行类型检查和转换 不利于一些工具对程序…… -
Introducing a gender-safe and tense-safe programming language
Note: This is a April Fools' Joke Introduction Nowadays, as most programming languages are built on top of English grammar and syntax, it is sometimes difficult for Latin, Spanish or French speakers to get used to the syntax in programming. Insprie…… -
数学建模 分享
如题,笔者作为队伍中的编程手,将在此分享自己的准备历程。队伍准备打MothorCup和电工杯,最终在9月份参加国赛。 3.15 线性规划模型: from scipy import optimize import numpy as np c = np.array([-4,-3]) # 默认求最小值 所以求最大值时需要加 - A = np.array([…… -
浅谈Minecraft服务器的常用替代和多人联机的种种方案
水水文章。 笔者和HDD 292在寒假时一起游玩了 Create Arcane Engineering 整合包。由于笔者手头拮据,并无多余的资金购置服务器,于是探索了几种常见的服务器平替和端口映射方法,现比较: Essential Essential是国外大佬团队开发的游戏内社交平台mod,支持好友、聊…… -