当前位置: 首页 > news >正文

成都旅游路线规划网站搜索引擎优化方案

成都旅游路线规划,网站搜索引擎优化方案,厦门电脑网站建设,网页设计工资怎么样系列综述: 💞目的:本系列是个人整理为了秋招面试的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于左程云算法课程进行的,每个知识点的修正和深入主要参考…

系列综述:
💞目的:本系列是个人整理为了秋招面试的,整理期间苛求每个知识点,平衡理解简易度与深入程度。
🥰来源:材料主要源于左程云算法课程进行的,每个知识点的修正和深入主要参考各平台大佬的文章,其中也可能含有少量的个人实验自证。
🤭结语:如果有帮到你的地方,就点个赞关注一下呗,谢谢🎈🎄🌷!!!
🌈【C++】秋招&实习面经汇总篇


文章目录

      • 面试技巧
      • 链表
      • 栈和队列
      • 递归
    • 参考博客


😊点此到文末惊喜↩︎

面试技巧

  1. 写算法时候也要阐述自己的思路,即使写不出来
  2. 面试的算法:必须找到最优的解

链表

  1. 单向链表数据结构
    // 单链表数据结构
    struct LinkNode {int val;struct LinkNode *next;LinkNode(int v): val(v), next(nullptr){}
    };
    // 反转单链表
    LinkNode *ReverseLinkList(LinkNode *head) {LinkNode *prev = nullptr;LinkNode *next = nullptr;while (head != nullptr) {	// head充当cur指针,表示每个操作的结点next = head->next;	// 记录值head->next = prev;prev = head;		// 两个指针的迭代head = next;}return prev;
    }
    
  2. 双向链表数据结构
    • 使用双链表作为底层实现栈和队列
    struct LinkNode {int val;struct LinkNode *prev;struct LinkNode *next;LinkNode(int v): val(v), prev(nullptr), next(nullptr){}
    };
    // 反转双向链表
    LinkNode *ReverseLinkList(LinkNode *head) {LinkNode *prev = nullptr;LinkNode *next = nullptr;while (head != nullptr) {	// head充当cur指针,表示每个操作的结点next = head->next;		// 记录值head->next = prev;		// key:当前双链表结点两个指针反转head->prev = next;prev = head;			// 两个指针的迭代head = next;}return prev;
    }// 删除指定结点
    ListNode *DeleteTarget(ListNode *head, int target) {ListNode *vhead = new ListNode(-1);vhead->next = head;ListNode *prev = vhead;ListNode *cur = head;while (cur != nullptr) {if (cur->val == target) {ListNode *p = cur;cur = cur->next;delete p;		// 释放结点,jvm会自动释放prev->next = cur;} else {prev = cur;cur = cur->next;}}return vhead->next;
    }
    设计一个模板双链表,可以进行头部和尾部的增删,以及改查操作,并进行优化
    

栈和队列

  1. 双链表实现栈和队列

  2. 数组实现栈和队列

    • 数组队列的实现应该是一个环状结构,使用
  3. 以O(1)时间获取当前栈的最小值

    • leetcode题目:最小栈
    • 思路1:最小栈同步记录对应的栈内最小值
    • 思路2:最小栈只记录栈内的最小值,只有当前栈和最小栈顶元素相等,最小栈栈顶才弹出
class MinStack {
public:/** initialize your data structure here. */MinStack() {min_st.push(INT_MAX);}void push(int x) {cur_st.push(x);int p = min_st.top();// 最小栈的栈顶一直记录栈内的最小值if (x <= p) {min_st.push(x);} else {min_st.push(p);}}void pop() {cur_st.pop();min_st.pop();}int top() {return cur_st.top();}int getMin() {return min_st.top();}
private:// 使用两个栈记录,一个记录当前栈,另一个栈顶一直为栈内最小元素stack<int> cur_st;	stack<int> min_st;
};
  1. 使用实现队列
    • 思路:两个栈,一个记录压入的元素,一个记录弹出的元素。
class MyQueue {
public:MyQueue() {}// 弹出栈为空则压入栈全部倒进弹出栈中void PushToPop(){if (pop_st.empty()) {while (!push_st.empty()) {pop_st.push(push_st.top());push_st.pop();}}}// 压入一个,则尝试倒栈void push(int x) {push_st.push(x);PushToPop();}// 先倒栈,在尝试弹出int pop() {PushToPop();int p = pop_st.top();pop_st.pop();return p;}int peek() {PushToPop();return pop_st.top();}bool empty() {return pop_st.empty() && push_st.empty();}
private:stack<int> push_st;stack<int> pop_st;
};
  1. 使用队列实现
    • 思路:将队列头部的元素按序重新添加到队列尾部,其中最后一个即栈顶元素
class MyStack {
public:queue<int> que;/** Initialize your data structure here. */MyStack() { }/** Push element x onto stack. */void push(int x) {que.push(x);}/** Removes the element on top of the stack and returns that element. */int pop() {int size = que.size();size--;while (size--) { // 将队列头部的元素(除了最后一个元素外) 重新添加到队列尾部que.push(que.front());que.pop();}int result = que.front(); // 此时弹出的元素顺序就是栈的顺序了que.pop();return result;}// 队列的末尾元素即为栈顶元素int top() {return que.back();}/** Returns whether the stack is empty. */bool empty() {return que.empty();}
};

递归

  1. 递归的固定参数可以使用全局或者引用,其中的可变参数作为参数
  2. 递归求数组的最大值
int process(vector<int> &vec, int L, int R) {if (L == R) return vec[L];int mid = L + ((R-L)>>1);int left_max = process(vec, L, mid);int right_max = process(vec, mid+1, R);return max(left_max, right_max);
}
  1. 任何递归都可以改成非递归,因为递归本质利用了系统栈
  2. 特殊复杂度 T ( N ) = a ∗ T ( N / b ) + O ( N c ) T(N) = a*T(N/b) + O(N^c) T(N)=aT(N/b)+O(Nc),其中a、b和c都是常数,a是递归次数,b为递归划分分数,c
    • 如果 l o g b a < d log_ba < d logba<d,复杂度为 O ( N d ) O(N^d) O(Nd)
    • 如果 l o g b a > d log_ba > d logba>d,复杂度为 O ( N l o g b a ) O(N^{log_ba}) O(Nlogba)
    • 如果 l o g b a = d log_ba = d logba=d,复杂度为 O ( N d ∗ l o g N ) O(N^d * logN) O(NdlogN)


少年,我观你骨骼清奇,颖悟绝伦,必成人中龙凤。
不如点赞·收藏·关注一波

🚩点此跳转到首行↩︎

参考博客

  1. 对数器
  2. 单调队列
  3. 快速链表quicklist
  4. 《深入理解计算机系统》
  5. 侯捷C++全系列视频
  6. 待定引用
  7. 待定引用
  8. 待定引用
http://www.hengruixuexiao.com/news/45877.html

相关文章:

  • 荣县做网站的广告买卖网
  • 网站开发专员招聘百度推广客户端怎么登陆
  • 网站建设项目经理招聘seo点击软件
  • icoc.cc是哪个网站域名微信小程序开发公司
  • 今天的新闻就是明天的历史seo外包公司怎么样
  • 给大家分享个永久免费的云服务器网站的优化seo
  • erp .net网站开发重庆森林电影完整版
  • 怎么随便搞个网站百度推广seo
  • 影视怎么建设网站网页制作培训网站
  • 网站建设进度计划seo文案范例
  • 北京医疗网站建设公司排名广州优化seo
  • 网站建设管理员搜索引擎优化seo专员
  • 做ppt的兼职网站有哪些营销型网站的公司
  • dw可以做有后台的网站么最新的销售平台
  • 资料网站怎么做昆明百度推广开户费用
  • 网站开发接入本地天地图短视频营销的发展趋势
  • 毕节网站怎么做seo专注于品牌营销服务
  • 南宁网站建设liluokj搜索引擎技术
  • 做网站打电话话术西安百度seo
  • 设计广告网站宜兴百度推广
  • 赣州朝扬网络科技有限公司seo是一种利用搜索引擎
  • 长治网站制作平台网络优化工程师招聘信息
  • 域名建议网站关键词全网搜索
  • 如何自己开一个网站网络营销师培训
  • 深圳最好的网站开发公司电话千锋教育学费多少
  • 北京网站seo策划百度搜索结果
  • 怎么做自己的发卡网站6商务软文写作
  • 网上做网页网站任务赚钱查淘宝关键词排名软件有哪些
  • wordpress 网站变慢优化大师优化项目有
  • 做网站职业咋样哪个平台可以免费打广告