- 博客(22)
- 资源 (9)
- 收藏
- 关注
原创 算法—排序
排序1 插入排序1.1 思路1.2 代码2 冒泡排序2.1 思路2.2 伪代码3 Shells 排序3.1 思路3.2 代码4 归并排序4.1 思路4.2 代码5 快速排序思路代码1 插入排序1.1 思路数组A(0,..,n-1)1.从0 - n-1 循环分别到达自己对应的位置。2.外循环i=0 到 n-13.内循环 j=i 到 0平均时间复杂度:O(N^2)最坏时间复杂度:O(N^2)最优时间复杂度:O(N)1.2 代码pseudocode//从小到大排序void insert
2021-06-03 11:18:15
181
原创 算法—哈希表
哈希表1 基本思想2 解决冲突2.1 分离链接法开放定址法2.2 线性探测2.3 平方探测2.4 双散列2.5 再散列1 基本思想选择散列函数,解决冲突。2 解决冲突2.1 分离链接法散列到同一个值得所有元素保留到一个链表中。装填因子:哈希表中元素个数与散列表大小的比值。开放定址法2.2 线性探测冲突函数f(i)=i遇到冲突,则找下一个地址,直至不冲突为止2.3 平方探测冲突函数f(i)=i^2开放地址散列法2.4 双散列f(i)=i*hash(0);//但发生第i次冲突时的位
2021-06-03 09:50:39
163
原创 经典图算法
经典图算法拓扑排序Leetcode 207 课程表代码Leetcode 210 课程表2代码Leetcode 310 最小高度树代码最短路径1.广度优先搜索(无权重)伪代码2. Dijkstra算法伪代码3.A星算法原理最小生成树Prim算法——让一棵小树慢慢长大Kruskal算法欧拉回路DFS搜索Hamilton回路旅行商问题拓扑排序Leetcode 207 课程表代码// An highlighted blockvar foo = 'bar';Leetcode 210 课程表2代码//
2021-06-02 21:17:05
219
原创 经典动态规划
动态规划一、动态规划思路1.1 定义动态数组的含义1.2 找出数组元素之间的关系1.3 定义初始值二、经典例题2.1 leetcode 62 不同路径代码2.2 leetcode 64 最小路径和代码2.3 leetcode 72 编辑问题代码一、动态规划思路1.1 定义动态数组的含义用以保存历史信息,一般用dp[]。1.2 找出数组元素之间的关系一般当前dp数组是过去任意时刻数组的函数,可以表示为dp[i]=f(dp[i-1],…,dp[0])1.3 定义初始值二、经典例题2.1 leet
2021-05-30 17:09:50
69
原创 经典贪心算法
贪心算法Leetcode455 分糖果解题思路代码leetcode 376 摆动序列解题思路代码leetcode 402 移除k个数字Leetcode455 分糖果解题思路1.小糖果优先给小胃口的小朋友2.小糖果满足不了小胃口的小朋友,那么其他小朋友也满足不了。3.对糖果,小朋友进行排序,然后一一匹配。代码class Solution {public: int findContentChildren(vector<int>& g, vector<int>
2021-05-30 15:05:55
72
原创 经典二叉树
这里写目录标题剑指OFFER 07 重建二叉树解题思路代码剑指OFFER 26 树的子结构解题思路代码剑指 OFFER 27 二叉树的镜像解题思路代码剑指 OFFER 28 对称的二叉树解题思路代码剑指OFFER 32-I 从上到下打印思路代码变形题剑指 OFFER 33 二叉树的后序遍历解题思路代码剑指 OFFER 34 二叉树的和胃某一路径解题思路代码剑指OFFER 07 重建二叉树解题思路前序遍历:根节点|左子树|右子树中序遍历:左子树|根节点|右子树1.根据前序遍历可以找到根节点,然后再根
2021-05-28 21:53:24
112
原创 剑指offer 简单
这里写目录标题03 数组中重复的数字哈希表原地交换05 替换空格反转判断反转判断(不创建新字符串,修改原来的长度)06 从尾到头打印链表回溯法用Stackvector insert()03 数组中重复的数字哈希表使用哈希表进行判断原地交换对应标号对应的数字05 替换空格反转判断创建一个新的string从后往前判断,若为空格,加入02%,若不是加入原来,再反转反转判断(不创建新字符串,修改原来的长度)06 从尾到头打印链表比较简单回溯法用Stackvector insert()
2021-05-06 22:13:53
133
1
原创 Leetcode
Leetcode简单007 反转整数009 回文数第一种方法第二种方法简单007 反转整数009 回文数第一种方法使用 007 整数反转 判断第二种方法反转一半的数字
2021-04-18 16:27:00
60
原创 c++ Primer Plus (第13章编程练习)
这里写目录标题13.11-113.11-213.11-1//Cd.h#pragma once#ifndef CD_H_#define CD_H_#include <iostream>using namespace std;//base classclass Cd//represents a CD disk{private: char performers[50]; char label[20]; int selection; //number of selectio
2021-04-17 15:30:49
196
原创 c++ Primer Plus (第11章编程练习)
这里写目录标题11.9-111.9-211.9-311.9-411.9-1//randwalk.cpp --using the vector class//compile with the vect.hpp file#include <iostream>#include <cstdlib>#include <ctime>#include "11.13 vector.h"#include <fstream>using namespace st
2021-03-23 12:46:39
146
原创 c++ Primer Plus (第10章编程练习)
这里写目录标题10.10-110.10-210.10-310.10-1#pragma once//10.10-1.h --BankAccount class interface#ifndef BANK_H_#define BANK_H_#include <string>class BankAc{private: std::string name; std::string acc; long double deposit;public: BankAc(std::st
2021-03-17 09:47:06
186
原创 c++ Primer Plus (第8章编程练习)
//8.8-1#include<iostream>#include<stdlib.h>using namespace std;void print_char(const char *ch, int n = 0);int main() { const char test[5] = "abcd"; cout << "Only one parameter(n=0),print one time:" << endl; print_char(te
2021-03-11 15:01:11
153
原创 c++ Primer Plus (第7章编程练习)
//7.13-1#include<iostream>#include<stdlib.h>using namespace std;double ham_mean(const double num1,const double num2);int main() { double num1, num2; double mean = 0.0; cout << "Please enter two numbers,0 to quit:"; cin >>
2021-03-06 21:54:49
125
原创 c++ Primer Plus (第6章编程练习)
//6.11-1#include<iostream>#include<stdlib.h>#include <string>#include <cctype>using namespace std;int main() { char ch; string text; cout << "Enter text for analysis ,and type @ to terminate input.\n"; cin.get(ch);
2021-03-03 13:11:13
157
原创 c++ Primer Plus (第5章编程练习)
//5.9-1#include<iostream>#include<stdlib.h>using namespace std;int main() { int i, j; cout << "Please enter two numbers:\n"; cin >> i; cin >> j; cout << "The sum is " << (i + j)*(j - i+1) / 2 << "
2021-02-28 10:25:46
147
原创 字符串比较strcmpy()详解
strcmpy详解一、strcmpy()1.1 函数原型1.2 函数功能1.3 函数参数1.4 函数返回值1.5 例子一、strcmpy()1.1 函数原型int strcmp ( const char * str1, const char * str2 );1.2 函数功能比较两个字符串。比较两个c字符串的首位元素,如果首元素相同则比较次位,直至不同或者字符串结束。(特定区域规则比较,参考strcoll())1.3 函数参数str1:用来比较的字符串1str2:用来比较的字符串2
2021-02-27 15:18:34
2372
原创 c++ Primer Plus (第4章编程练习)
//4.13-1#include<iostream>#include<stdlib.h>#include <string>using namespace std;//没有考虑越界问题int main() { string f_n; string l_n; char grade; int age; cout << "What is your first name? "; getline(cin, f_n); cout <<
2021-02-26 15:55:00
132
原创 malloc()、realloc()、calloc()、free()
malloc、free、new、delete详解一、malloc()1.1 函数原型1.2 函数功能1.3 函数参数1.4 函数返回值1.5 例子二、 realloc()2.1 函数原型2.2 函数功能2.3 函数参数2.4 函数返回值2.5例子一、malloc()1.1 函数原型void* malloc(size_t size);1.2 函数功能作用:分配一个大小字节的内存块,并返回指向该内存块地址的指针。1.3 函数参数size 是内存块的大小(字节为单位)。1.4 函数返回值函数成
2021-02-25 21:54:11
130
原创 c++ Primer Plus (第3章编程练习)
记录自己的一些学习过程,如有错误,请指出!谢谢~//3.7-1#include<iostream>#include <stdlib.h>using namespace std;int main() { /* 注意点 1.\b 退格键 控制光标的位置 达到下划线字符指示输入位置 2. 整除与取余 */ const int cm_to_m = 100; int height; cout << "请输入身高:___厘米\b\b\b\b\b\b\b";
2021-02-23 15:52:12
77
原创 c++ Primer Plus (第2章编程练习)
记录自己的一些学习过程,如有错误,请指出!谢谢~// 2.7-1#include <iostream>using namespace std;int main() { cout << "My name is Ming." << endl; cout << "I live in XXX." << endl; cin.get(); return 0;}//2.7-2#include <iostream>#inc
2021-02-22 10:04:57
251
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人