算法笔记-理论
算法理论基础。
老$¥
这个作者很懒,什么都没留下…
展开
-
给定一个字符串,怎么判断是不是ip地址?并写出测试用例
IP的格式:(1255).(0255).(0255).(0255) #include<cstdio> #include<iostream> using namespace std; bool isip(string c){ bool flag = true; if(c == NULL) flag = false; //检查ip长度,最短7位,最长15位 if(c.length < 7 || c.length() > 15) flag = flase; int len原创 2021-05-25 15:07:36 · 503 阅读 · 3 评论 -
二叉树,二叉平衡树,完全二叉树,二叉查找/搜索树
//二叉树 struct node{ int data; int layer;//层次 node* lchild; node* rchild; } //前序遍历 根左右 void preorder(node* root){ if(root == NULL) return; printf("%d\n",root->data); preorder(root->lchild); preorder(root->rchild) } //中序遍历,左根右 void midorde原创 2021-05-08 21:17:55 · 84 阅读 · 0 评论 -
栈和队列+优先级队列
原创 2021-05-08 10:09:52 · 57 阅读 · 0 评论 -
lower_bound与 upper_bound与二分
原创 2021-05-06 23:17:20 · 91 阅读 · 0 评论 -
双指针算法思想
原创 2021-05-06 20:45:00 · 80 阅读 · 0 评论 -
C++之搞定vector
#include<vector> vector<int> a,b; //b为向量,将b的0-2个元素赋值给向量a a.assign(b.begin(),b.begin()+3); //a含有4个值为2的元素 a.assign(4,2); //返回a的最后一个元素 a.back(); //返回a的第一个元素 a.front(); //返回a的第i元素,当且仅当a存在 a[i]; //清空a中的元素 a.clear(); //判断a是否为空,空则返回true,非空则返回false a..原创 2021-05-06 20:11:12 · 55 阅读 · 0 评论 -
set容器
原创 2021-05-06 18:51:56 · 51 阅读 · 0 评论 -
字符串哈希+map+sort函数
map.begin()指向map的第一个元素,map.begin()可能随着map.erase(iter)或是map.add(key, value)操作而发生改变。例如当第一个元素被删除后,map.begin()就发生了改变,指向原来第一个元素之后的那个元素了。或是如果新插入一个键值对,该键值对的key放到btree(我们假设map内部是由btree实现的,实际上也可能有别的实现方式)中会排在map.begin()->first的前面,那么map.begi...原创 2021-05-06 16:42:36 · 106 阅读 · 0 评论 -
C++OJ复习一篇入门
本篇讲述了一些C++基础知识,如字符串处理,数组,vector等常用STL,以及刷题的大纲 PS:刷题从剑指offer开始,重点是字符串,数组,排序,链表以及对应线性表,非线性表(堆栈队列这些)和一些算法思想:动态规划,贪心,哈希,dfs,bfs,递归,数学,穷举,双指针这些 ...原创 2021-05-06 14:38:12 · 175 阅读 · 0 评论