00:00
好,各位同学大家好,我们继续接下来给大家介绍red set数据结构,那么在我个人的学习经历的过程当中啊,Set数据结构是最简单的一种理由从六到七。一直没变。咱们先说结论。SET2种编码格式t set和哈,讲完了,你只需要记住这个就OK了。说白了,Set的底层编码方式和数据结构就是哈希表和整数集合,OK,那么来吧,弟兄们,咱们呢,直接开干。咱们还是先从这个六开始吧,好吧,那么看get set新全部set相关的给我罗列出来只有一个inter set整数集合的实体多少个512,哎,512弟兄们有没有发现的每次数据都是跟内存分配最恰当的数据,512的个数或者64的子节数,OK,好,这是RED6,那么RED7呢?杨哥看f get set1回车,哎。
01:12
这个到原模原样了,怎么多了一个什么set pro pro title是yes,这什么鬼,六跟七,唯一这点区别听好。六和七,刚才前面杨哥怎么说的根本没变,所以他们两个有且仅有一个就是整数。集合的个数是否超过512 512以内叫赛特,512超过了变成哈table,那这是啥东东?这是因为我用set这个新这个通配符在七这个版本连带出来的,所以呢,也给同学们介绍一下,这个意思叫修改进程标题以显示一些运行信息,这个跟我们的set集合没有任何。关系,OK,所以搁到这儿来吧,Ready呢,是用in set整数集合或哈希表来存储一个set,如果元数都是整数就用sett,如果不是整数类型就用哈西table,那么哈希table底子是不是又是数组加列表啊,又回到加烷那些数据结构,因为数据结构是不变的,那么K这些啊,这些不说了,所以同学们直接看案例,这个呢,我就不敲了,OK,因为这些我都敲过了啊,他快吐了,弟兄们呢,有兴趣的同学作为一个家庭作业,大家呢,可以呢来。
02:30
验证一下,首先对于RED6默认512最大的整数集多少个,那么现在我把它改成三个,大家请看啊,现在改完三题以后是不是还是现在说明设置值修改是成功了,请看123,请告诉我是不是在这个范围以内,这个没问题吧,所以它是inter set,那么下面s set的SET1变ABCD4个元素了,对不起,一超过了怎么着直接变成哈table,那么当然只要是这个in特类型的,它尽量的拔高干到什么long类型,我们long类型是不是19位还记不记得怎么最大的数字是这个,如果在long浪型之间,且个数还小于最大的512个,这个它的编码就是inter set,反之就用哈西table。
03:19
OK,各位同学讲完了,这个应该很简单吧,由于有前面的基础,这个呢,我们节约时间,我们呢就不再重复的演示这些东西了,好,所以说。Set,两个inter set和table来直接源码看一下,由于red从诞生到7SET底层结构都没怎么变过,所以呢,只说一个就够了,T set.c来,同学们s set这个命令就这货。Sad sat的添加了解吧,那么来吧,直接告诉你了,我们就两种数据结构判断了以后进行set类型的添加来对于这个set type a啊,我也给大家抓了图,要么。
04:08
是符合哈西走这个分支啊,要么就是inter set OK,最终就是看你这个max inter的N醇是不是在long类型以内,且小于默认的512个,那么我们这样的话,咱们呢,就用inter set,否则就用哈西啊,这个很简单,我们就不再过多的展开。
我来说两句