- 博客(32)
- 收藏
- 关注
原创 C++笔记:异常
C、C++对比说明异常的由来,异常如何抛出和匹配,调用栈怎么展开,还针对异常引发的构造析构的安全问题和异常的使用规范问题进行了一定的探讨,最后简单总结了一下异常的优缺点
2024-04-17 22:23:18 574
原创 【C++】哈希思想的应用(位图、布隆过滤器)及海量数据处理方法
第一部分对位图和布隆过滤器两个数据结构的概念、实现、应用场景、优缺点做一个简单的总结;第二部分就是总结一下,当遇到海量数据处理问题时该怎么用哈希思想来进行解决。
2024-04-05 14:45:59 951
原创 由浅入深一步步了解什么是哈希(概念向)
文章首先讲述了什么是哈希,哈希最重要的是哈希函数的选择,有的哈希函数不会产生哈希冲突,有的哈希函数不可避免的会产生哈希冲突,发生了哈希冲突之后的该如何解决,这里介绍了闭散列的开放定址法,和开散列的链地址法,过程中还讲述了负载因子和扩容的问题,最后讲述了遇到非整数类型的数据关键码该如何处理
2024-03-24 18:10:22 1016 2
原创 C++笔记:从零开始一步步手撕高阶数据结构红黑树
文章研究了红黑树概念,红黑树维护平衡的规则,AVL和红黑树之间的简单对比,如何去描述设计一棵红黑树,如何通过插入构建一棵红黑树,最后对构建好的红黑树进行炎症性测试
2024-03-17 12:13:00 617 1
原创 C++笔记:二叉搜索树(Binary Search Tree)
了解和实现二叉搜索树的接口,部分接口实现了迭代版和递归版,后面还记录了一下二叉搜索树的应用,还有其性能分析,及缺陷
2024-02-23 21:16:05 660
原创 C++笔记:简单模拟实现优先级队列(priority_queue)
博客的内容是在了解的基础上通过模拟实现来加深对容器适配器Priority_queue的理解
2024-02-13 08:40:02 553
原创 C++笔记:动态内存管理
这篇文章是个人对C++动态内存管理方式,即new和delete知识的一个由浅入深的总结,从new和delete的语法使用,谈到了new/delete的底层实现
2023-12-07 11:18:13 1134
原创 手撕常见的插入排序——直接插入排序、折半插入排序、2路插入排序、希尔排序
本文探讨了以插入为核心思想的直接插入排序、折半插入排序、2路插入排序、希尔排序
2023-10-14 09:25:36 77 1
原创 线性表之动态顺序表
本篇博客首先说明顺序表要根据实际需求设置为动态还是静态,然后讲述了顺序表的各接口的实现思路、该注意的一些问题以及源代码展现。
2023-09-04 20:45:36 102 1
原创 入门数据结构——线性表(概念向)
这篇博客首先介绍了什么是线性表并给出了线性表的抽象数据类型定义,然后根据线性表存储在计算机当中的物理结构将线性表分成两种,“顺序表” 和 “链表”。顺序表根据数组长度可变和不可变又分成了 “静态顺序表” 和 “动态顺序表”。链表根据其三个特征又可以组合成八种结构。
2023-09-03 09:34:55 281
原创 算法的前置概念和术语
博客讲述了什么是算法,算法的特点,以及如何去设计一个好的算法,最后再从时间、空间两个维度,即时间复杂度、空间复杂度,讲述了该区如何衡量一个算法的效率
2023-08-29 18:02:56 120 1
原创 gdb 篇
前面陆续谈到了开发工具中的编辑器、编译器,那么本篇博客就来谈谈开发过程中绕不开的工具——调试器,本篇博客中的调试器是gdb,操作系统是Liunx的Centos发行版学会调试是一个合格的程序员必备的能力。以上就是本篇博客的所有内容,如有问题麻烦评论区指出。
2023-08-26 11:32:26 65
原创 Linux的第一个小程序——进度条
前面学习了yum工具安装、gcc编译代码、make和makefile自动化管理工具的理论知识,但是,仅有理论知识是不够的,还必须得又实践。在使用yum安装工具时,个人对安装过程中出现的进度条非常感兴趣,所以打算用C语言实践一个简单的进度条小程序。
2023-08-23 09:29:43 117
原创 gcc和makefile篇
在上一篇博客《vim篇》中已经了解vim的功能,学习vim的相关命令,最后还配置了vim,为编写代码提供了一个好的环境。但是,无法编译运行的代码是没有价值的。接下来,就学习如何使用将写好的代码编译,如何将文件运行,如何编写基本的makefile文件以提高写代码效率。
2023-08-22 11:40:57 133 1
原创 yum 篇
一、软件包与软件包管理器 yum一、软件包与软件包管理器 yum在讲yum前,我们先形成一个概念:在Linux中,指令、工具、程序这些名词代表的其实都是一个东西——可执行程序。在Linux下安装软件,通常有两个方法。一个是下载到程序的源代码,并进行编译,得到可执行程序,这个方法通常被叫做 “源码安装”。但是这样太安装对于新手极其不友好,于是一些程序员想到了第二种方法。
2023-08-19 09:30:59 67
原创 C语言菜鸟成长之旅:《内存操作函数篇》
本篇博客主要介绍常用的4个内存操作函数:1.不重叠内存拷贝函数 -- `memcpy()`2.重叠内存拷贝函数 -- `memmove()`3.内存比较函数 -- `memcmp()`4.内存填充函数 -- `memset()`
2023-07-26 12:57:52 46 1
原创 C语言菜鸟成长之旅:《字符函数篇》
本篇博客介绍了C语言标准库中 ctype.h 头文件中声明的字符操作函数,总共有14个,其中12个大致是判断某个字符是否为某一类字符;另外2个是进行大小写转换的函数。
2023-07-20 23:55:34 68
原创 C语言菜鸟成长之旅:《字符串函数篇》
文章介绍了各种与字符串相关的函数包括:求字符串长度的函数strlen();长度不受限制的字符串函数strcpy()、strcat()、strcmp();长度受限制的字符串函数strncpy()、strncat()、strncmp();字符串查找strstr()、strtok();错误信息报告strerror()
2023-07-17 12:04:22 47 1
原创 python入门
学校本学期开设了python课,因为懂得都懂原因,python入门得很艰难(无奈.jpg)。因此,在学校的python实验课之前,对python进行了一波恶补,这篇博客是对我的现有知识的一个总结,希望能帮到想入门python的你!
2023-04-01 11:24:48 990 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人