数据类型与数据结构——企业大数据应用,从认识数据开始(3)

1.3 数据类型
数值型数据是我们经常处理的数据,也是数据处理技术相对比较成熟的领域。从数据所表述内容的角度对数值型数据进行分类,可以分成定类数据、定序数据、定距数据和定比数据,下面分别具体介绍。
1.3.1 定类数据
定类数据也称定性数据,用于标识数据所描述的主体对象的类别或者属性、名称,例如人的名字、事物的名称。定类数据只能用来标识事物,不能进行任何运算,包括比较运算。因为你无法比较一个苹果和一个李子哪个好,除非你能够提供额外的数据来证明谁好谁坏,例如提供了额外的体积数据或者重量数据,按照体积或者重量来比较是可以的,但是苹果和李子这两个数据本身是没有任何比较或者运算意义的。
又例如,将人口按性别划分为男性和女性两类,数量化后可分别用0和l表示;将企业按行业类别分为农林牧渔业、采矿业、教育类、制造业、建筑业、金融业等,可分别用1、2、3、4、5、6等表示。这些数字只是代号而无顺序和大小之分,不能区分大小或进行任何数学运算。
定类数据有各种类型,它们的排序是无关紧要的,即哪一类在前,哪一类在后对所研究的问题并无实质性的影响。而且,定类数据能够进行的唯一运算就是计数,即计算每一种数据类型的频数或频率(即比重)。
1.3.2 定序数据
定序数据也称序列数据,用于对事物所具有的属性顺序进行描述。定序数据虽然可以用数字或者序号来排列,但是并不代表量化的数据的大小,它只代表数据之间的比较关系。例如第一名、第二名、第三名等,这些只代表顺序,按照大小正序排列第一名肯定比第二名大,具体大多少是无法比较的。第一名和第二名相加也不会等于第三名。定序数据只可以用来比较,不能用来做加减乘除等运算,因为这些运算是没有任何意义的。
定序数据不仅具有定类数据的特点,可以将所有的数据按照互斥和穷尽的原则(MECE原则)加以分类,而且还使各类型之间具有某种意义的等级差异,从而形成一种确定的排序。这种序列测定在社会经济管理工作中应用很广泛,例如,将企业按经营管理的水平和取得的效益划分为一级企业、二级企业等;将员工按所受正规教育划分为大学毕业、中学毕业、小学毕业等。这种排序是确定的,对所研究的问题有特定的意义。但是,它并不能具体测定各等级之间的间距大小,例如不能计算一级企业和二级企业有实质意义的量的差距,也不能计算服务质量与预想的之间的差距。
1.3.3 定距数据
定距数据也称间距数据,它比定序数据的描述功能更好一些。定距数据是指没有绝对零点的数据,例如温度,其零点是人为指定的。而且并不能说20摄氏度是10摄氏度的两倍,因为缺少绝对的零点温度,零度并不代表没有温度。
定距数据因为有了标准的距离差异度量,它不仅能将事物区分为不同类型并进行排序以及可以测定其间距大小,标明强弱程度,还可以做加法或者减法运算。我们可以说20摄氏度比10摄氏度高10摄氏度;30摄氏度比20摄氏度高10摄氏度,而这个温度差是一样的,也可以比较。
定序数据之间的差异缺少标准的度量尺度,因而无法比较,但定距数据是可以的,定距数据的差异值本身会成为定比数据,从而可以进行加减乘除运算。时间点是定距数据,没有绝对的零点,或者零点并不代表没有时间,但是时间差就是定比数据,可以进行加减乘除运算。如果时间差是零,则可以认为是没有时间差异。
1.3.4 定比数据
定比数据也称比率数据,用于描述事物的大小、多少、长短等,可以进行加减乘除运算。定比数据与定距数据的显著区别是:定比数据有一个自

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据结构——用C语言描述(第3版)》课后答案的描述使用C语言来实现各种数据结构和算法。以下是对几个常见数据结构的描述和相关代码示例。 1. 数组(Array):数组是一种线性数据结构,用于存储相同类型的元素。C语言中使用数组可以快速访问和修改元素。示例代码如下: ```c #include <stdio.h> int main() { int arr[5] = {1, 2, 3, 4, 5}; for(int i = 0; i < 5; i++) { printf("%d ", arr[i]); } return 0; } ``` 2. 链表(Linked List):链表是一种动态数据结构,通过节点之间的指针链接来存储数据。C语言中可以使用结构体和指针来实现链表。示例代码如下: ```c #include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node* next; }; void printList(struct Node* head) { struct Node* current = head; while(current != NULL) { printf("%d ", current->data); current = current->next; } } int main() { struct Node* head = NULL; struct Node* second = NULL; struct Node* third = NULL; head = (struct Node*) malloc(sizeof(struct Node)); second = (struct Node*) malloc(sizeof(struct Node)); third = (struct Node*) malloc(sizeof(struct Node)); head->data = 1; head->next = second; second->data = 2; second->next = third; third->data = 3; third->next = NULL; printList(head); return 0; } ``` 3. 栈(Stack):栈是一种后进先出(LIFO)的数据结构,在C语言中可以使用数组来实现。示例代码如下: ```c #include <stdio.h> #define MAX_SIZE 100 int stack[MAX_SIZE]; int top = -1; void push(int item) { if(top == MAX_SIZE - 1) { printf("Stack Overflow\n"); } else { stack[++top] = item; } } int pop() { if(top == -1) { printf("Stack Underflow\n"); return -1; } else { return stack[top--]; } } void printStack() { for(int i = top; i >= 0; i--) { printf("%d ", stack[i]); } } int main() { push(1); push(2); push(3); printf("Popped element: %d\n", pop()); printStack(); return 0; } ``` 这些示例代码展示了如何使用C语言描述《数据结构——用C语言描述(第3版)》中介绍的数据结构。读者可以根据书中提供的习题进行编程练习,进一步巩固数据结构和算法的相关知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值