技术
-
一种无递归、无栈、无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) )…… -
测试逻辑(Experimental logic literature)[2] 语义与推理(Semantics and Deduction)(WIP)
集合论想学自己学去吧, 该回归一般意义上的数理逻辑了. 另外本系列持续使用中文写作. 默认的latex编译器又哈哈了, 喜欢我美刀吗¥¥¥ 上期我们浪费了一期在最为基础的集合论上, 然而集合论并不是一个很好的例子, 毕竟其中很多东西若深入讨论需要大量基础, 关于其…… -
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; …… -
C中使用宏测试特定宏是否被定义
ref 起因: 在阅读ics-pa代码macro.h中发现这样一个需求:如何在宏中测试特定宏是否被定义 #define str_temp(x) #x #define str(x) str_temp(x) // strlen() for string constant #define STRLEN(CONST_STR) (sizeof(CONST_STR) - 1) // calculate the length of an…… -
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([……