摘要: 题目:对某个公司的人的年龄(0-99)进行排序,该公司的总人数为几万人。要求时间复杂度为O(n),可以辅助O(n)的空间。思路:实现函数为void SortAge(int ages[],int len).辅助空间为一个整型数组timesOfAge[100],用来存放每个个年龄的人数(当满足i=0时候... 阅读全文
posted @ 2015-05-18 21:28 lisahappy 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 算法:排序和查找(二分查找,归并排序,快速排序),位运算等。查找:顺序查找,哈希查找,二叉排序树查找,哈希表。二分查找可以解决:"旋转数组中的最小数字","数字在排序数组出现的次数"等问题。哈希表:优点:O(1)时间内查找一个元素的效率最高。缺点:需要额外的空间来实现哈希表。二叉排序树查找:对应二查... 阅读全文
posted @ 2015-05-18 20:50 lisahappy 阅读(3110) 评论(0) 推荐(0) 编辑
摘要: 一、数组(最简单的数据结构)定义:占据一块连续内存并按照顺序存储数据。创建时先指定大小,分配内存。优点:时间效率高。实现简单的hash(下标为key,对应的数据为value)缺点:空间效率差。如果我们只在数组中存一个数字,也先分配所有的内存。扩展:动态数组(解决空间效率差),手段:扩容后,复制内容到... 阅读全文
posted @ 2015-05-18 11:51 lisahappy 阅读(1282) 评论(0) 推荐(0) 编辑