数据结构与算法
文章平均质量分 59
あぁ
这个作者很懒,什么都没留下…
展开
-
数据结构与算法之美(复杂度分析2)
//n表示数组Array的长度 int find(int[] array, int n, int x){ int i = 0; int pos = -1; for(; i < n; ++i){ if(array[i] == x){ pos = i; break; } return pos; } } 一、最好时间复杂度 上面代码的最好时间复杂度为:O(1); 要查找的变量x可能出现在数组的原创 2021-04-13 12:14:41 · 116 阅读 · 0 评论 -
数据结构与算法之美(复杂度分析1)
补充 数据结构和算法解决的是“如何让计算机更快时间、更省空间的解决问题”。 需从执行时间和占用空间两个维度来评估数据结构和算法的性能 分别用时间复杂度和空间复杂度两个概念来描述性能问题,二者统称为复杂度 复杂度描述的是算法执行时间(或占用空间)与数据规模的增长关系 一、为什么要进行复杂度分析(事后统计法)? 测试结果非常依赖测试环境、测试结果受数据规模的影响很大 二、大O表示法 由来 我们通过对一段代码的总执行时间的计算,我们可以得到一个非常重要的规律:所有代码的执行时间T(n)与每行代码的执行次数原创 2021-04-13 11:56:22 · 116 阅读 · 0 评论 -
数据结构与算法之美(需要掌握哪些知识以及该怎么做)
重点 什么是数据结构与算法: 数据结构是指一组数据的存储结构,算法就是操作数据的一组方法 掌握以下知识 复杂度分析(重点掌握) 20个最常用、最基础数据结构与算法。10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、tree树;10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。 (来历、自身特点、适合解决的问题、实际应用场景)。 学习技巧: 边学边刷题,适度刷题。每周日花两小时,集中把这周的三节内容涉及的数据结构和算法用代码实现一原创 2021-04-13 11:43:18 · 140 阅读 · 0 评论