数据结构
一、基本概念引入存储结构/物理结构数据元素与数据元素间有两种结构:逻辑结构,存储结构/物理结构
逻辑结构分类:
线性结构(线性表、栈、队列、串,有且仅有一个前趋和后继);非线性结构(树、图,有多个前趋和后继)
四类基本逻辑结构:集合结构;线性结构(1v1);树形结构( 1v多);图状结构(多v多)
存储结构分类:
顺序存储结构(用存储先后位置表示逻辑先后关系);链式存储结构(任意存储位置,但有指针表示前后逻辑关系);索引存储结构;散列存储结构;
时间/空间复杂度对比不同算法:时间空间复杂度,即时间和空间增长的趋势
时间渐进复杂度
(BigO: 当一个问题量级增加的时候,时间增长的趋势):T(n) = O(f(n)),其中f(n)代表代码执行次数,O表示正比例关系Eg: O(n)
1234567891011121314151617for(int i = 1; i<=n; i++){ x++;}//若n = 3://1. int i = 1;//2. i<=n;//3. x++;//4. i++ ...
第三篇文章
这是我的第三篇文章 test
剑指offer
#暑期实习剑指offer记录 c++
剑指 Offer 03. 数组中重复的数字
题解
12345678910111213class Solution {public: int findRepeatNumber(vector<int>& nums) { int n = nums.size(); for(int i = 0; i < n; i++){ while(i != nums[i] && nums[nums[i]] != nums[i]) swap(nums[i], nums[nums[i]]); //一个标号一个坑,nums做自己的map数组 if(i != nums[i] && nums[nums[i]] == nums[i]) return nums[i]; } return -1; }};
剑指 Of ...