摘要: 目录关键字unsigned和signed数据在计算机中的存储原码 与 补码的转化与硬件关系原,反,补的原理:整型存储的本质变量存取的过程类型目前的作用十进制与二进制快速转换大小端字节序判断当前机器的字节序"负零"(-128)的理解截断建议在无符号类型的数值后带上u, 关键字unsigned和sign 阅读全文
posted @ 2024-09-15 20:00 HJfjfK 阅读(160) 评论(0) 推荐(1) 编辑
摘要: 目录条件编译 - 代码裁剪的工具为何要有条件编译条件编译都在那些地方用?见一见条件编译的代码宏是否被定义 vs 宏是否为真or假编译器也能够自动帮你加上宏GCCVS2023-VS2019#ifdef/#ifndef#if注意事项让#if和#ifdef/#ifndef完全一样条件编译也支持嵌套一个使用 阅读全文
posted @ 2024-09-15 16:00 HJfjfK 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 目录if-else组合if的执行顺序操作符的执行顺序测试方法C语言的布尔类型switch case组合(补充) 屏蔽警告的方法在case中执行多条语句,建议case后都带上花括号.多个case执行同样语句do、while、for循环的基本结构continue跳转的位置循环设计的思想推荐推荐使用for 阅读全文
posted @ 2024-09-15 10:00 HJfjfK 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 目录负数"取模"基本概念修正定义取整规则决定商的值取模和取余不一样. 负数"取模" 基本概念 如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足 a = q*d + r,且0 <= r < d。其中,q 被称为商,r 被称为余数。 //对应代码 int main() { i 阅读全文
posted @ 2024-09-14 20:00 HJfjfK 阅读(233) 评论(0) 推荐(1) 编辑
摘要: 改造红黑树 目录改造红黑树适配STL迭代器的红黑树基本结构RBTreeNode__RBTree_iteratorRBTree完整代码封装的set封装的map 在初次看STL中实现红黑树的源码时有些不理解,然后自己尝试对set以RBTree<K,K>的方式封装红黑树的迭代器;实现过程发现,这样封装复用 阅读全文
posted @ 2024-08-31 20:54 HJfjfK 阅读(232) 评论(0) 推荐(2) 编辑
摘要: 目录红黑树简述性质/规则主要规则:推导性质:红黑树的基本实现struct RBTreeNodeclass RBTree红黑树的插入红黑树插入修正前言什么时候需要变色:变色的基础:为什么需要旋转与变色变色:旋转需要修正的所有情况(以左为例)先认识最简单的情况1. 叔叔是红色结点注意:2.没有叔叔结点3 阅读全文
posted @ 2024-08-26 22:54 HJfjfK 阅读(308) 评论(0) 推荐(1) 编辑
摘要: 目录基本概念关联式容器键值对树形结构的关联式容器set描述set的使用map描述map的使用multiset描述multiset简单使用multimap描述底层结构 基本概念 关联式容器 在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、 forward_lis 阅读全文
posted @ 2024-08-23 18:00 HJfjfK 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 4种旋转操方法,6种双旋平衡因子特征,图文详解,一把到位 阅读全文
posted @ 2024-08-23 16:34 HJfjfK 阅读(476) 评论(0) 推荐(4) 编辑
摘要: 目录排序的概念内外部排序稳定与非稳定排序改进排序的指标图片 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[ 阅读全文
posted @ 2024-08-21 08:00 HJfjfK 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 目录二叉搜索树基本概念常用结论用途二叉搜索树的性能分析二叉搜索树的操作查找插入删除代码实现BSTree.hpptest.cc 二叉搜索树 基本概念 二叉搜索树(BST,Binary Search Tree) 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空 阅读全文
posted @ 2024-08-20 23:44 HJfjfK 阅读(197) 评论(0) 推荐(2) 编辑
摘要: 高精度计时器,时间精度可以达到1纳秒. 随机数生成器,可以实现各类随机数,本测试主要用于实现9成随机数下排序性能. 阅读全文
posted @ 2024-08-20 23:39 HJfjfK 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 目录基数排序实现原理基本步骤效率分析代码实现sortmain 基数排序 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排 阅读全文
posted @ 2024-08-19 17:17 HJfjfK 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 目录输入/输出操纵符简单示例输入操纵符(Input Manipulators)输出操纵符(Output Manipulators)组合使用 输入/输出操纵符 输入输出操纵符是 C++ 中用于控制输入输出流格式的一组特殊函数或对象。它们通常用于格式化输出,例如设置宽度、精度、对齐方式等,而不涉及数据的 阅读全文
posted @ 2024-08-15 13:08 HJfjfK 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 算法库 -堆操作 基本操作 make_heap() (1)从一个元素范围创建出一个最大堆 (2)将区间内的元素转化为heap.--传比较器 push_heap() 对heap增加一个元素.将一个元素加入到一个最大堆 pop_heap() 对heap取出下一个元素.从最大堆中移除最大元素 sort_h 阅读全文
posted @ 2024-08-13 20:02 HJfjfK 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 目录内观排序/内省排序Introsort 的工作原理:总结:内省排序中的堆排序作用在 Introsort 中的具体作用:如何在 Introsort 中使用堆排序:示例代码中的堆排序部分:内省排序中插入排序(小区间优化)部分插入排序的工作原理:Introsort 中插入排序的使用:内省排序算法执行流程 阅读全文
posted @ 2024-08-12 11:33 HJfjfK 阅读(128) 评论(0) 推荐(1) 编辑
摘要: 目录IP地址概念IP地址2A类地址B类地址C类地址D类地址E类地址特殊IP地址0.0.0.0三类私网地址默认网关默认子网掩码IP地址的分类广播地址主机号网络地址网络地址的确定示例计算网络地址步骤计算过程网络地址的含义CIDR表示法CIDR表示法的组成部分:示例 IP地址概念 分类: A类:000~1 阅读全文
posted @ 2024-08-11 22:44 HJfjfK 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 目录归并排序用途特性null优点与其他排序算法比较的优点缺点算法步骤递归实现时间/空间复杂度分析非递归实现归并与快排的区别 归并排序 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序 阅读全文
posted @ 2024-08-06 22:59 HJfjfK 阅读(131) 评论(0) 推荐(1) 编辑
摘要: 目录希尔排序概述优缺点算法步骤代码实现 希尔排序 概述 希尔排序,也称递减增量排序算法,也称缩小增量排序,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率; 阅读全文
posted @ 2024-08-06 21:50 HJfjfK 阅读(69) 评论(0) 推荐(1) 编辑
摘要: 目录快速排序快速排序要解决的几个问题算法步骤递归法空间复杂度: log2(n)1. hoare法基本原理时间复杂度分析代码实现1优化一 三数取中代码实现逻辑测试三数取中优化版本快排优化二 小区间优化代码实现测试2. 挖坑法3. 前后指针法4. 三路排序算法背景概念适用说明实现思路代码实现非递归版本为 阅读全文
posted @ 2024-08-06 20:48 HJfjfK 阅读(190) 评论(0) 推荐(1) 编辑
摘要: 目录堆排序堆排序的好处:算法步骤代码实现时间复杂度分析记忆技巧: 堆排序 堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分 阅读全文
posted @ 2024-08-06 19:03 HJfjfK 阅读(56) 评论(0) 推荐(1) 编辑