清华数据结构笔记:向量 发表于 2024-05-20 | 分类于 数据结构笔记 向量基础概念相对于数组固定容量,向量可以进行扩容,向量是以二倍进行扩容 向量实现的详细笔记我会在以后的《STL源码剖析》笔记中记录,该节笔记我打算记录一下向量的二分查找、归并排序等 数组和向量都是连续的内存存储,可以用首地址A + i* s得到下标i对应的元素位置,故下标访问的时间复杂度为O(1) ... 阅读全文 »
归并排序算法 发表于 2024-05-19 | 分类于 数据结构笔记 归并排序思路和代码实现如下: 不断对半拆分序列,直到序列只有一个数(即为有序),再自下而上合并 12345678910111213141516171819202122232425262728293031323334353637#include <vector>#include <i ... 阅读全文 »
选择排序算法 发表于 2024-05-19 | 分类于 数据结构笔记 选择排序思路和代码实现如下: 前缀无序序列–>后缀有序序列 在前缀中找到最大元素,移动到后缀的最前端 回顾起泡排序,起泡排序属于选择排序的一种 12345678910111213141516171819202122232425262728293031323334353637#include & ... 阅读全文 »
起泡排序算法 发表于 2024-05-12 | 分类于 数据结构笔记 起泡排序起泡排序作为排序算法里最基础的算法 从本质来将,起泡排序可以分成两部分:前缀无序序列 和 后缀有序序列 思路和代码实现如下: 其中Bubble函数负责一轮从前到后的扫描交换,返回true代码本轮有逆序对 BubbleSort函数负责调用Bubble函数 1234567891011121314 ... 阅读全文 »
C++ explicit关键字 发表于 2024-05-04 | 分类于 cpp 介绍在C++中,explicit是一个关键字,用于修饰类的构造函数或转换函数。它的作用是禁止隐式类型转换,只允许显式调用。 隐式类型转换的一个直观的例子: 1可以使用std::string s = "c++" 代替 std::string s("c++") ... 阅读全文 »
人工智能实践:Tensorflow笔记——神经网络计算 发表于 2024-05-04 | 分类于 人工智能笔记 1.人工智能三学派人工智能:让机器具备人的思维和意识 神经元示意图: 当前人工智能的主流方向:连接主义 前向传播 损失函数 梯度下降 学习率 反向传播更新参数 Tensorflow 2 常用函数 人工智能的三学派: 行为主义:基于控制论,构建感知-动作控制系统。 (控制论,如平衡、 ... 阅读全文 »
NowCode:HJ15 求int型正整数在内存中存储时1的个数 发表于 2024-04-28 | 分类于 NowCode 题目: 求int型正整数在内存中存储时1的个数描述 输入一个 int 型的正整数,计算出该 int 型数据在内存中存储时 1 的个数。 数据范围:保证在 32 位整型数字范围内 输入描述: 输入一个整数(int类型) 输出描述: 这个数转换成2进制后,输出1的个数 示例1 12345输入:5输出 ... 阅读全文 »
NowCode:HJ14 字符串排序 发表于 2024-04-28 | 分类于 NowCode 题目: 字符串排序描述 给定 n 个字符串,请对 n 个字符串按照字典序排列。 数据范围: 1≤𝑛≤1000,字符串长度满足 1≤𝑙𝑒𝑛≤100 输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。 输出描述: 数据 ... 阅读全文 »
NowCode:HJ13 句子逆序 发表于 2024-04-27 | 分类于 NowCode 题目: 句子逆序描述 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符 数据范围:输入的字符串长度满足 1≤𝑛≤1000 输入描述: 输入一个英文语句,每个单词用空格隔开。保证 ... 阅读全文 »
字符串反转算法对比 发表于 2024-04-27 | 分类于 cpp 原地字符串反转1234567891011121314151617#include <iostream>// #include <algorithm>using namespace std;int main() { int input = 0; cin & ... 阅读全文 »