二叉树概念 二叉树:每个节点最多有两个子节点 满二叉树:深度为K,有2^k-1个节点 完全二叉树:满二叉树属于完全二叉树,最后一层可满可不满,不满只可右部分缺失,其余层是满的 平衡二叉树:一棵空树或者左右子树的高度差的绝对值不能超过1 二分查找树:左子树节点的值比该节点的值小,右子树节点的值比该节点 ...
分类:
其他好文 时间:
2020-06-24 11:56:36
阅读次数:
58
一、基本概念和专业术语: (1)查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 (2)查找算法分类: 1)静态查找和动态查找; 注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。 常见静态表:顺序查找、二分查找、插值查找、索引查找等 常见 ...
分类:
其他好文 时间:
2020-06-23 21:32:01
阅读次数:
165
第七章的内容是查找,总的来说整个章节的学习思路很清晰,分为线性表、树表、随机表的查找三部分。 关于线性表的查找,我印象最深刻的内容就是设有“监视哨”的顺序查找方法和折半查找方法。数组首元素存储查找的key数据,保证从后往前遍历到a[0]时能找到key并退出循环,这就不需要计数器来辅助了,这种思路确实 ...
分类:
其他好文 时间:
2020-06-23 13:06:02
阅读次数:
56
二分法查找: 第一:二分法中查找建立在排序的基础之上。 第二:二分法查找效率要高于“一个挨着一个”的这种查找方式。 第三:二分查找法原理? 10(0下标) 23 56 89 100 111 222 235 500 600 目标:找出600下标 (0 + 9) / 2 --> 4(中间元素的下标) a ...
分类:
编程语言 时间:
2020-06-21 17:59:11
阅读次数:
62
//用折半查找法找出整型数组中指定元素所在的位置,并输出(折半查找法只能用于有序数列)。 #include<stdio.h> main() { int a[10]={1,3,6,8,9,12,15,16,19,20},n,low,high,mid; scanf("%d",&n);//输入要找的数 l ...
分类:
编程语言 时间:
2020-06-21 09:39:53
阅读次数:
95
构造一颗二叉排序树(也叫二叉搜索树,BST,Binary Search Tree)十分简单。一般来讲,大于根节点的放在根节点的右子树上,小于根节点的放在根节点的左子树上(如果等于根节点,则可视情况而定),如果写程序的话,可以采用递归的方式,而且由于不存在重叠子问题的情况,因此递归的性能已经足够好(不... ...
分类:
编程语言 时间:
2020-06-21 00:01:36
阅读次数:
97
滴滴2019年php高级研发工程师面试题总结一 算法 基本排序算法要会写,时间复杂度要会推算, 主要是冒泡排序, 快速排序, 选择排序.查找算法,要会写二分查找法, 实际场景要会应用.实例算法思路要明白,基本算法看多了, 我觉得是几种思路的变换, 需要自己领悟.面试中考过: 猴子选大王 斗地主项目设 ...
分类:
Web程序 时间:
2020-06-20 21:54:50
阅读次数:
104
整数集合是集合键的底层实现,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会用整数集合作为集合键的底层实现。inset采用的是连续内存空间实现,默认是用16位整数,当加入元素/删除元素都要进行扩容缩容,如果新加入的元素大于16位,则要对空间进行扩充。 1、整数集合的结构 ty ...
分类:
其他好文 时间:
2020-06-20 01:32:13
阅读次数:
53
此博客链接:https://www.cnblogs.com/ping2yingshi/p/13164258.html 二分查找(10min) 题目链接:https://leetcode-cn.com/problems/binary-search/submissions/ 给定一个 n 个元素有序的( ...
分类:
其他好文 时间:
2020-06-19 17:48:24
阅读次数:
35