文章 2024-02-02 来自:开发者社区

【数据结构入门精讲 | 第二篇】考研408、企业面试基础概念习题

判断题1.时间复杂度是根据算法写成的程序在执行时耗费时间的长度,往往与输入数据的规模有关。(对)2.斐波那契数列FN的定义为:F0=0, F1=1, F(N)=F(N−1)+F(N−2), N=2, 3, …。用递归函数计算FN的空间复杂度是O(N)。(对)3.斐波那契数列FN的定义为:F0=0, F1=1, FN=FN−1+FN−2, N=2, 3, …。用循环函数计算FN的时间复杂度是Θ(F....

【数据结构入门精讲 | 第二篇】考研408、企业面试基础概念习题
文章 2024-02-02 来自:开发者社区

【数据结构入门精讲 | 第四篇】考研408、企业面试表专项习题

顺序表判断题1.对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。(错)解析:删除第一个元素需要将数组中的所有元素向前移动一位,以填补删除元素所占用的位置。因此,时间复杂度为O(N)。void delete_first_element(int *arr, int n) { for (int i = 0; i < n - 1; ...

【数据结构入门精讲 | 第四篇】考研408、企业面试表专项习题
文章 2024-02-02 来自:开发者社区

【数据结构入门精讲 | 第十三篇】考研408、公司面试树专项练习(二)

编程题R7-1 目录树在ZIP归档文件中,保留着所有压缩文件和目录的相对路径和名称。当使用WinZIP等GUI软件打开ZIP归档文件时,可以从这些信息中重建目录的树状结构。请编写程序实现目录的树状结构的重建工作。输入格式:输入首先给出正整数N(≤104),表示ZIP归档文件中的文件和目录的数量。随后N行,每行有如下格式的文件或目录的相对路径和名称(每行不超过260个字符):路径和名称中的字符仅包....

【数据结构入门精讲 | 第十三篇】考研408、公司面试树专项练习(二)
文章 2024-02-02 来自:开发者社区

【数据结构入门精讲 | 第十二篇】考研408、公司面试树专项练习(一)

在上一篇文章中我们介绍了树的知识点,在这一篇中我们将进行树的专项练习。方法介绍:已知中序及后序,求前序 如后序为DABEC,中序为DEBAC,求前序 则后序倒着写,中序横着写 C E B A D D E B A C 接着寻找一一对应 C c E e B b A a D d D E B A C 所以 得到树的结构为 c e d ...

【数据结构入门精讲 | 第十二篇】考研408、公司面试树专项练习(一)
文章 2024-02-02 来自:开发者社区

【数据结构入门精讲 | 第五篇】栈知识点及考研408、企业面试练习

基础概念栈是限定仅在栈顶(即表首)进行插入和删除操作的线性表,也称为后进先出(Last In First Out) 的线性表,简称 LIFO 结构。栈的内部实现原理其实就是数组或链表的操作,而之所以引入 栈 这个概念,是为了将程序设计问题模型化,利用栈的先进后出特性对特定的一些问题进行简化。(栈是线性表的特例)允许插入和删除元素的一端称为栈顶,另一端称为栈底,不含任何任何数据元素的栈称为空栈。顺....

【数据结构入门精讲 | 第五篇】栈知识点及考研408、企业面试练习
文章 2024-02-02 来自:开发者社区

【数据结构入门精讲 | 第六篇】队列知识点及考研408、企业面试练习

队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进....

【数据结构入门精讲 | 第六篇】队列知识点及考研408、企业面试练习
文章 2024-01-17 来自:开发者社区

数据结构与算法面试题:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对

数据结构与算法面试题:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对简介:实现一个 LRU 缓存,支持如下操作:获取值、更新值、删除键值对和插入键值对算法思路使用一个双向链表存储每个键值对,按照访问时间从早到晚依次排列,越晚访问的节点越靠近双向链表的头部。这里使用了 C++ 中的 list 模板类。使用一个哈希表存储键和对应的节点指针,可以用 C++ 标准库中的 u....

文章 2024-01-17 来自:开发者社区

数据结构和算法面试题:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

数据结构和算法面试题:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。简介:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。该算法的实现思路如下:使用一个变量ans存储最终的答案,使用一个变量cur存储当前的连续子数组和。遍历整个数组,对于每一个数字,更新cur为它自身和(cur + nums....

文章 2024-01-17 来自:开发者社区

数据结构与算法面试题:实现一个函数 fill(int[] a, int n, int v),使其将大小为 n 的数组 a 填满为 v。

数据结构与算法面试题:实现一个函数 fill(int[] a, int n, int v),使其将大小为 n 的数组 a 填满为 v。简介:实现一个函数 fill(int[] a, int n, int v),使其将大小为 n 的数组 a 填满为 v。c++#include <iostream> using namespace std; void fill(int[] a, int ....

文章 2024-01-17 来自:开发者社区

数据结构与算法面试:基于比较的排序算法时间复杂度最坏情况下是 O(nlogn),请问有没有更快的算法?(提示:计数排序、基数排序)

数据结构与算法面试:基于比较的排序算法时间复杂度最坏情况下是 O(nlogn),请问有没有更快的算法?(提示:计数排序、基数排序)简介:基于比较的排序算法时间复杂度最坏情况下是 O(nlogn),请问有没有更快的算法?(提示:计数排序、基数排序)基数排序是一种时间复杂度O(nlogn)的排序算法,其中d是数组a中最大数字的位数。如果数字长度d较小,那么基数排序要比比较排序更快。基数排序的实现思路....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注