数据结构(四)

###########################集合############################

我们在高中学习集合时了解到集合 有3个最重要的性质:  a.无序性    b.确定性    c.唯一

这样我们可以根据这些来学习这种数据结构

(1) sadd  (key)  (value1)  (value2)  ........                                 //设置一个集合

从上可以看出向集合添加重复元素会返回0,体现了集合的唯一性

(2)smembers  (key)                      //返回集合中的元素

(3)srem  (key)  (value1)  (value2)  .......                         //删除集合中的元素

(4)spop  (key)                                  //返回并删除集合中key中的一个随机元素  (体现随机无序性)

(5) srandmember  (key)                                //随机获取集合中的元素

(6)sismember   (key)   (value)                           //判断指定元素是否在集合中

(7)scard  (key)                                       //返回集合中的元素个数

下面的命令需要两个及以上的集合

(8)smove   (source)   (dest)  (value)              //把source集合中的value移动到dest集合中

(9)sinter   (key1)   (key2)  ........                     //求几个集合的交集

sinterstore  ( result)   (key1)    (key2)                //求几个集合的交集同时将结果放到result集合中

(10) sunion  (key1)   (key2)     ......         //求几个集合的并集

(11)  sdiff  (key1)   (key2)          //求集合key1和key2的差集

时间: 2024-10-17 07:12:17

数据结构(四)的相关文章

浅谈算法和数据结构: 四 快速排序

原文:浅谈算法和数据结构: 四 快速排序 上篇文章介绍了时间复杂度为O(nlgn)的合并排序,本篇文章介绍时间复杂度同样为O(nlgn)但是排序速度比合并排序更快的快速排序(Quick Sort). 快速排序是20世纪科技领域的十大算法之一 ,他由C. A. R. Hoare于1960年提出的一种划分交换排序. 快速排序也是一种采用分治法解决问题的一个典型应用.在很多编程语言中,对数组,列表进行的非稳定排序在内部实现中都使用的是快速排序.而且快速排序在面试中经常会遇到. 本文首先介绍快速排序的思

Java数据结构四之——二叉树的前、中、后序遍历

程序来自Program Creek 前 Preorder binary tree traversal is a classic interview problem about trees. The key to solve this problem is to understand the following: What is preorder? (parent node is processed before its children) Use Stack from Java Core lib

数据结构(四)常用排序算法-选择、插入、希尔

选择排序 实现思路: 1.将需排序的集合设为A,已经排好顺的集合为B(在未排序前B集合为空). 2.每次从A集合中查找出最大或者最小的元素后放入集合B中 3.同时将该元素从集合A中移除. 4.循环执行以上两步直到集合A为空,B集合中的元素就有序了. 缺点: 效率低,时间复杂度为 O(n*n),是一种只适合小数据集的原地排序算法.   示范代码 1  public class CommSort { 2      // 比较大小 3      @SuppressWarnings({ "rawtype

算法导论笔记——第十二~十四章 数据结构(二)树

第十二章 二叉搜索树 >=左子树的所有key,<=右子树的所有key 在一棵高度为h的二叉搜索树上,动态集合上的操作SEARCH,MINIMUM,MAXIMUM,SUCCESSOR,PREDECESSOR,INSERT和DELETE可以在O(h)时间内完成. h>=(lgn向下取整) 和快速排序算法一样,其平均性能更接近于最好情形. 随机构建二叉搜索树期望高度为O(lgn). 各种操作请自行查阅. 第十三章 红黑树 是一种(近似)平衡的二叉搜索树.可以保证在最坏情况下基本动态集合操作的时

R语言之数据类型和数据结构

一.数据类型 1.数字分为整数和小数,整数用integer表示,小数用numeric表示,如果一组数据同时包含整数与小数,那么R会将整数转换为小数,即添加一个小数位2.文本分为普通文本和因子.普通文本用character表示,因子用factor表示.普通文本就是通常所说的文字符号,带有引号标记,因子则没有引号标记, 可以使用as.xx函数对上述类型进行转换====================================== 二.数据结构 数据可能以各种形式和结构存在,并且每一种都有特殊用

浅谈算法和数据结构系列汇总(转)

突然看到一个大神的系列文章讲的就是算法和数据结构,现在把它的文章集中分享给大家,向大神致敬: 浅谈算法和数据结构: 一 栈和队列 浅谈算法和数据结构: 二 基本排序算法 浅谈算法和数据结构: 三 合并排序 浅谈算法和数据结构: 四 快速排序 浅谈算法和数据结构: 五 优先级队列与堆排序 浅谈算法和数据结构: 六 符号表及其基本实现 浅谈算法和数据结构: 七 二叉查找树 浅谈算法和数据结构: 八 平衡查找树之2-3树 浅谈算法和数据结构: 九 平衡查找树之红黑树 浅谈算法和数据结构: 十 平衡查找

网络协议理论,http协议,数据结构,常用返回码

一.网络协议理论 先是DNS协议 将域名转化成IP地址 这个你要知道 域名只是人记着方便 计算机记的是IP 然后是TCPIP协议 数据在传输过程中可能要经过陆游器 涉及到的是ARP协议 将IP地址转换成以太网地址 进行数据报的传输 (1)iso:国际标准化组织(International Organization for Standardization,ISO)简称ISO,是一个全球性的非政府组织,是国际标准化领域中一个十分重要的组织.(2)OSI是Open System Interconnec

ES6学习一 JS语言增强篇

一 背景 JavaScript经过二十来年年的发展,由最初简单的交互脚本语言,发展到今天的富客户端交互,后端服务器处理,跨平台(Native),以及小程序等等的应用.JS的角色越来越重要,处理场景越来越复杂.在这个背景下,JS最初的简陋设计显然是不太够用的,其松散的语法规则,拗口的继承机制(传说中的6种继承方法),无命名空间,模块化,以及异步处理的回调地狱等等特性在开发过程中容易成为开发人员的各种痛点,各个JS框架比如jQuery,SeaJs,等等为了这些问题也是操碎了心.不过随着JS语言的发展

算法经典文章收藏

作者 标题 archimedes MapReduce实战--倒排索引 - codingwu - 博客园 archimedes MapReduce原理与设计思想 - codingwu - 博客园 archimedes 算法--递推策略 - codingwu - 博客园 archimedes 动态规划算法 - codingwu - 博客园 archimedes 字符串匹配--暴力搜索算法 - codingwu - 博客园 archimedes 算法--枚举策略 - codingwu - 博客园 ar

JavaScript - 收藏集 - 掘金

Angular 中的响应式编程 -- 浅淡 Rx 的流式思维 - 掘金第一节:初识Angular-CLI第二节:登录组件的构建第三节:建立一个待办事项应用第四节:进化!模块化你的应用第五节:多用户版本的待办事项应用第六节:使用第三方样式库及模块优化用第七节:给组件带来活力Rx--隐藏在 Angular 中的利剑Redux你的 A... Electron 深度实践总结 - 前端 - 掘金思维导图 前言: Electron 从最初发布到现在已经维护很长一段时间了,但是去年才开始慢慢升温.笔者个人恰好