随笔分类 -  数据结构与算法

摘要:推荐算法: 推荐算法是计算机专业中的一种算法,通过一些数学算法,推测出用户可能喜欢的东西,目前应用推荐算法比较好的地方主要是网络,其中淘宝做的比较好。 发展背景: 推荐算法的研究起源于20世纪90年代,由美国明尼苏达大学 GroupLens研究小组最先开始研究,他们想要制作一个名为 Movielen 阅读全文
posted @ 2020-05-06 20:31 X小白的逆袭之旅 阅读(711) 评论(0) 推荐(0)
摘要:1. 一个列表list,里面只有一个数出现了一次,其他数都出现了两次。在时间复杂度O(n),空间复杂度O(1)下输出出现一次的数: def selectnum(list): a = 0 for i in list: a = a ^ i return a #^为异或运算。数a异或运算数b两次,结果仍为 阅读全文
posted @ 2019-03-07 09:37 X小白的逆袭之旅 阅读(199) 评论(0) 推荐(0)
摘要:一、树的概念 1、树的特性 1)一棵树中的任意两个结点有且仅有唯一的一条路径连通; 2)一棵树如果有n个结点,则它一定有n−1条边; 3)在一棵树中加一条边将会构成一个回路。 2、二叉树 1)二叉树是一种特殊的树,二叉树的特点是每个结点最多有两个儿子。 2)二叉树使用范围最广,一颗多叉树也可以转化为 阅读全文
posted @ 2019-02-24 11:58 X小白的逆袭之旅 阅读(655) 评论(0) 推荐(0)
摘要:递归实现斐波那契: def fn(n): if n==1: return 1 elif n==2: return 1 else: return fn(n-1)+fn(n-2) 非递归斐波那契: def fibo(n): a , b = 1,1 if n <= 2: return b else: fo 阅读全文
posted @ 2019-02-19 20:28 X小白的逆袭之旅 阅读(322) 评论(0) 推荐(0)
摘要:单链表: 单链表的数据结构:每个指针指向想一个结点。 头插入结点:改变自己的指针指向有一个结点 链表中间插入:改变前一个结点的指针指向自己,改变自己的指针指向后一个结点 删除列表的第一个结点:改变头指针指向第二个结点,删除自己的指针。 删除任意结点:改变前一个结点的指针指向下一个结点。 代码实现: 阅读全文
posted @ 2019-02-16 11:08 X小白的逆袭之旅 阅读(372) 评论(0) 推荐(0)
摘要:快排思路: 给定一个无需的列表,对列表里的数据进行排序,一般选取最左边或者最右边的元素的作为标杆,选取左边的为升序,右边为降序。 最左边的的数据,list[i] = 5j = 9. 列表的长度 len(list) = 10 . 最右边的下标 j = 9. 步骤: ①从右边遍历数组,把array[ j 阅读全文
posted @ 2019-02-16 10:08 X小白的逆袭之旅 阅读(208) 评论(0) 推荐(0)