题目:在字符串中找出第一个只出现一次的字符。
分析:
思路一:第一次遍历,从第一个开始,当前字符和以后的字符比较,如何没有相同的,则此字符为所求字符。
此方法可以实现,但时间复杂度很低,为o(n*n)
思路二:(1)只遍历一次,把每种字母对应到一个hash表中
                (2)第二次遍历的时候,找到hash中为1的来就是要输出的字母...
                            
                            
                                分类:
其他好文   时间:
2015-06-20 19:40:47   
                                阅读次数:
117
                             
                    
                        
                            
                            
                                一、简介 跳表(skiplist)是一个非常优秀的数据结构,实现简单,插入、删除、查找的复杂度均为O(logN)。LevelDB的核心数据结构是用跳表实现的,redis的sorted set数据结构也是有跳表实现的。代码在这里:http://flyingsnail.blog.51cto.com/53...
                            
                            
                                分类:
编程语言   时间:
2015-06-02 21:29:28   
                                阅读次数:
190
                             
                    
                        
                            
                            
                                单链表一直是程序员的基础,我也来复习下,下面是link.c中的代码,供main.c 调用,代码很简单,单链表的插入,删除,查找和遍历输出,#include #include typedef struct link{ int data; struct link* next;}*LINK;i...
                            
                            
                                分类:
系统相关   时间:
2015-05-29 11:46:26   
                                阅读次数:
210
                             
                    
                        
                            
                            
                                查找基本概念
查找表:由同一类型的数据元素构成的集合。对查找表的常用操作:查询元素是否存在、查询元素属性、插入一个数据元素、删除一个数据元素。
查找:也叫检索,是根据给定的某个值,在表中确定一个关键字等于给定值的数据元素。
关键字:可以标识一个数据元素的某个数据项。
主关键字:可以唯一地识别一个数据元素的关键字。
静态查找表:只进行查询某元素在表中与否或检索某元素的各种属性操作的表。...
                            
                            
                                分类:
编程语言   时间:
2015-05-09 15:01:11   
                                阅读次数:
210
                             
                    
                        
                            
                            
                                杂谈; 打败自己的 往往不是敌人,而是自己。坚持不易,且行且珍惜。
键树 是一种 把  把  非叶子节点 当成索引,叶子节点保存具体信息的一种树。
例如:
 
它的 键树形式如下:
键树 有 两种 表示 方法:1. 双链表 表示法 ,就是 树的 孩子链表 表示法   2.多重链表表示法(Trie树)
下面给出 键树的 双链表 表示法的 插入,删除,查找  等...
                            
                            
                                分类:
其他好文   时间:
2015-04-29 10:07:39   
                                阅读次数:
284
                             
                    
                        
                            
                            
                                NSString *str1 = @"This is a example.";NSMutableString *mstr = [[NSMutableString alloc] init];//创建可变字符串 NSRange substr; //子字符串的范围mstr = [NSMutableStri...
                            
                            
                                分类:
移动开发   时间:
2015-04-27 02:02:05   
                                阅读次数:
707
                             
                    
                        
                            
                            
                                声明:本文转载自Penguin的博客http://blog.sina.com.cn/s/blog_779cf3410101389s.html1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,...
                            
                            
                                分类:
编程语言   时间:
2015-03-30 15:51:22   
                                阅读次数:
140
                             
                    
                        
                            
                            
                                线性表的链式存储。主要是单链表的相关知识,介绍了正序建立单链表、逆序建立单链表、单链表的插入、删除、查找、输出以及单链表的合并方法。单链表的合并前提是两个都有序。具体知识点详见代码注释。 1 /*** 2 线性表的链式存储结构不能随机存储,整个链表的存取都必须从头结点开始。但是没有顺序存储的缺...
                            
                            
                                分类:
其他好文   时间:
2015-03-13 16:25:48   
                                阅读次数:
162
                             
                    
                        
                            
                            
                                HashMap的两种遍历方式HashMap存储的是键值对:key-value 。java将HashMap的键值对作为一个整体对象(java.util.Map.Entry)进行处理,这优化了HashMap的遍历处理。第一种:(只遍历一次,将key及value都放到entry中,效率高) Map ...
                            
                            
                                分类:
其他好文   时间:
2015-03-07 18:32:18   
                                阅读次数:
121
                             
                    
                        
                            
                            
                                一:起因
(1):set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高,具体实现采用了红黑树的平衡二叉树的数据结构。
set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。
创建 multiset base; 删除:如果删除元素a,那么在定义的...
                            
                            
                                分类:
其他好文   时间:
2015-01-30 15:58:38   
                                阅读次数:
183