数据、结构、算法

大学期间的一本蓝色为主色调的课本,长约20厘米,宽约13厘米,封面中央写着“数据结构”四个大黑字。犹记当时老师第一节课,意味深长地说“这是一门基础课,很重要,虽然你们现在可能不能完全理解”。那时,我相信老师说的很重要的话,但是我心中充满“不是所有人都能理解,但是我能”的自信。~~,每每回头瞅瞅这门知识的时候,都感觉到了需要自信,也需要踏实细节。

不同时期对于“数据结构与算法”可能会有不同深度、不同层次的理解与扩展。此刻我一个一个来说“数据”、“结构”,“算法”。

数据

“我”可以是一个数据,“小左”、“小右”、“小尚”、“小夏”都是数据

“我爱吃的琵琶”、“我喜欢的书籍”、“我常做的运动”... 都是数据

“"我",“爱吃琵琶”,“喜欢看村上春树的小说”,“经常做的运动是瑜伽”...”这个对象也是一个数据

数据 就是我们的研究对象,我们可以研究自己、他人、一群人、一类人、一朵花、一簇花...

结构

“我”与“小左”、“小右”、“小尚”、“小夏”都是同学关系,平等友爱的集合结构

“我”和“小左”是同事关系,“小尚”是我们的组长, 分明的树结构

“我”和“小稻”是密友,“小稻”和“小右”也是密友,“我”和“小右”也是密友,“小右”和“大左”是密友...  ,神秘有趣的图结构

“我”和“小稻”、“小右”去买面包,排队结账,“我”是第一个,后面是“小稻”,最后是“小右”, 规矩乖乖有礼貌的线性结构

“大稻”这个人:

  爱好:有颜色的小物件、村上春树、瑜伽、软软干净的草坪上睡觉【集合】

  亲人:哥哥、姐姐、爸爸、妈妈、爷爷、侄女【树】

  专业:web前端开发工程师

  业余:画画、写作 【开发、画画、写作 互相关联促进:图】【开发工作做好了 - > 画画、写作: 线性】

算法

有一群小朋友,按照身高从高到低排,怎么操作? 【大家可能都经历过的场景】

情境一:

操场上一排一排的小朋友,排之间只有一人距离,3年级的男生一排还没有排好。

老师说“以中间小稻同学为中心,第一个同学开始,如果比稻矮就不动并且举手报告;最后一个同学开始,如果比稻高就不动且举手报告,

然后这两个同学交换位置,前后比较到稻同学时,稻同不要动,稻以前的同学为一队,稻以后的同学为另一对,开始之前同样的比较交换,同学们!明白了吗?”

“老师,我们不明白。。。明白。。”~~小同学们呼叫着。

情境二:

操场上,3年级7班的同学们在上体育课,有几个调皮的男生迟到打闹,老师将他们单独叫到一个空旷的地方,

“按照身高从高到低排队,开始,马上!”

...

有很多经典高效的算法,如何选择呢?

关键要做的是什么?

了解你的研究对象是什么样子的?【数量、顺序、规律、稳定性、所处环境。。。】

     将对象放在具体的情境故事中,增加五感信息,分析、想象、抽象 —> 本质 【过滤出本质要素】

平时工作中的场景呢......?

时间: 2024-07-28 16:53:52

数据、结构、算法的相关文章

几个新角色:数据科学家、数据分析师、数据(算法)工程师

大数据分析的几个新角色:数据科学家.数据分析师.数据(算法)工程师 数学科学家:(发明算法) 运用统计分析.机器学习.分布式处理等技术,从大量数据中提取出对业务有意义的信息,以易懂的形式传达给决策者,并创造出新的数据应用服务的人才. 对享有的模型进行优化.改进,所以涉及到对具体算法的精通和理解,并不断通过AB Test进行验证. 例如:Google的搜索PageRank算法的创始人拉里佩奇Larry Page,他是博士而且在读书期间创造的此算法. 李开复也应该算一个,解决中文搜索及尝试了语音识别

盘点一下数据平滑算法

在自然语言处理中,经常要计算单词序列(句子)出现的概率估计.我们知道,算法在训练时,语料库不可能包含所有可能出现的序列.  因此,为了防止对训练样本中未出现的新序列概率估计值为零,人们发明了好多改善估计新序列出现概率的算法,即数据平滑算法. Laplace 法则 最简单的算法是Laplace法则,思路很简单,统计测试数据集中的元素在训练数据集中出现的次数时,计数器的初始值不要设成零,而是设成1.这样,即使该元素没有在训练集中出现,其出现次数统计值至少也是1.因此,其出现的概率估计值就不会是零了.

mysqldump导出--数据+结构+(函数+存储过程)

mysqldump--导出工具 #导出某个数据库--结构+数据 shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt db_name |gzip -9 > /db_bakup/db_name.gz #导出某个数据库的表--结构+数据+函数+存储过程 shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt -R db_name |gzip -9 > /db_backup/

相似数据检测算法

相似数据检测算法对给定的一对数据序列计算两者之间的相似度([0,1], 1表示完全相同)或距离([0, ), 0表示完全相同),从而度量数据之间的相似程度.相似数据检测在信息科学领域具有非常重要的应用价值,比如搜索引擎检索结果的聚类与排序.数据聚类与分类.Spam检测.论文剽窃检测.重复数据删除.Delta数据编码等应用.正是由于它的重要性,近年来成为了研究的重点,不断有新检测方法涌现并得到评估.其中,Broder提出的shingling算法和Charikar的simhash算法被认为是目前为止

[转]算法的简单归类。大数据常用算法

无论是机器学习.模式识别.数据挖掘.统计学习.计算机视觉.语音识别.自然语言处理都涉及到算法. 1.树:决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法.由于这种决策分支画成图形很像一棵树的枝干,故称决策树.在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系.Entropy = 系统的凌乱程度,使用算法ID3, C4.5和

随机打乱一组数据(算法)

最近一个项目的开发中遇到一个需求,有一组数1,2,3,4,5,6,7,8,0. 哈哈,如何将它随机打乱生成一个0-8的任意排列呢?比如生成0.6.1.2.3.4.5.7.8等等. 算法思路: 1.使用Arraylist存放这组数 2.随机生成Arraylist的下标值,根据下标值依次取出Arraylist值,直到Arraylist为空 哈哈,是不是很简单.......... 下面看代码: private static void genRandomData() { int data[] = { 1

【C/C++学院】0723-32位与64位/调戏窗口程序/数据分离算法/内存检索/二分查找法/myVC

[送给在路上的程序员] 对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现. 对于一个架构师而言,掌握各种语言的优势并阿赫利运用到系统中,由此简化系统的开发,是其架构生涯的第一步. 对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现. 每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我. 32位与64位 地址与内存的关系 4G = 4*1024M = 4*1024*1024k = 4*1024*1024*1024 Byte字节 =

大数据推荐系统算法代码全接触(企业内训,现场实录,机器学习算法+Spark实现)

[学途无忧网]大数据推荐系统算法代码全接触(企业内训,现场实录,机器学习算法+Spark实现)课程下载:https://pan.baidu.com/s/1piCNIxC2Sv0zMY0yWxY9Ug 提取码:b10v 一.课程简介: 推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程.个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品.随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间

STL基础--算法(不修改数据的算法)

不修改数据的算法 count, min and max, compare, linear search, attribute // 算法中Lambda函数很常用: num = count_if(vec.begin(), vec.end(), [](int x){return x<10;}); bool lessThan10(int x) { return x<10; } vector<int> vec = {9,60,90,8,45,87,90,69,69,55,7}; vecto

大数据推荐系统算法视频教程

大数据推荐系统算法视频教程课程学习地址:链接:https://pan.baidu.com/s/1U89CR_ZH_1JzsPOOKLbMyQ请添加链接描述 提取码:5ipq 课程简介: 推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程.个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品.随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到自己想买的商品.这种浏览大量无关的信息和